由于中文是占用2个字符,而英文是1个字符,如果我们不分区英文和中文,只要是8个字符
那通过input的maxlength属性就可以完成任务。现有的需求是需要限制用户输入的input中的字符数目,4个中文字符,8个英文字符。则需要通过javascript来判断,用户输入的是英文还是中文,最后截取8个字节。
下面是具体的代码:
function WidthCheck(str, maxLen){
var w = 0;
var tempCount = 0;
//length 获取字数数,不区分汉子和英文
for (var i=0; i<str.value.length; i++) {
//charCodeAt()获取字符串中某一个字符的编码
var c = str.value.charCodeAt(i);
//单字节加1
if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
w++;
}
else {
w+=2;
}
if (w > maxLen) {
str.value = str.value.substr(0,i);
break;
}
}
}
调用函数的方式如下:
<input type="text" id="nickname" class="nickname" value="" placeholder="请输入您的名字" onkeyup="WidthCheck(this,8);"/>
这样当用户输入超过8个字节,就不可以再输入了。
分享到:
相关推荐
自动大小输入 香草JavaScript中的动态宽度文本框,毫不费力。 动态调整文本框的宽度以适合其当前内容 可以初始化以适合其placeholder属性 (可选)根据元素的初始内容设置min-width 压缩718个字节 用法 < ...
第一次输入延迟一个JavaScript库,用于在浏览器中测量 。 有关详细的指标说明和解释,请参见。安装您可以通过运行以下命令从npm安装此库: npm install --save-dev first-input-delay用法要使用此库来测量网站或应用...
前端JS中使用XMLHttpRequest 2上传图片到服务器,PC端和大部分手机上都正常,但在少部分安卓手机上上传失败,服务器上查看图片,显示字节数为0。下面是上传图片的核心代码: HTML <input type="file" id=...
FileSystemObject对象,GetFileSize(…)可直接取得待上传文件的字节大小,但也有限制就是客户端浏览须启用ActiveX插件,若没有启用时,会提示用户按步骤设置。CancelClientEvent()是使用事件冒泡阻止了事件的继续...
当内容为空时,发布按钮为灰色,点击时候文本框会闪动,输入文字会提示还可以输入多少文字,超出会提示,且不能发布,要注意的是,判断文本框内容的长度,不能直接来,因为英文属于一个字节,中文占两个,要用正则...
限制文本框里只能输入数字<input onkeyup="if(event.keyCode !=37 && event.keyCode != 39) value=value.replace(/\D/g,'');"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/...
^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An a" $ 匹配一个输入或一行的结尾,/a$/匹配"An a",而不匹配"an A" * 匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa + 匹配前面元字符1次或多次,/ba...
对 MIDI 输入的抽象。 执行所有字节处理并公开一个简单的事件 API。 安装和测试 使用 npm do npm install simple-midi-input 。 或者下载 build/SimpleMidiInput.js 文件并将其包含在您的 html 页面中。 或者使用...
当内容为空时,发布按钮为灰色,点击时候文本框会闪动,输入文字会提示还可以输入多少文字,超出会提示,且不能发布,要注意的是,判断文本框内容的长度,不能直接来,因为英文属于一个字节,中文占两个,要用正则...
input>이나 <textarea>에서 입력 시 ngModel 디렉티브를 통해 바인딩 된 model에 글자단위로 저장되는 것을 (keyup이벤트에 따라)자소 단위로 입력되도록 개선합니다. 安装 bower install multi-byte-input...
字节格式化程序 来自 Glize 库的字节格式化模块。 用法 npm install bytes-formatter --save import { formatBytes } from 'bytes-formatter' ; /** * Formats given <code>bytes</code> to human friendly ...
Javascript中每个字符都是用2个字节表示的。(因为是16位编码) 2 ,大小写敏感: js是一种区分大小写的语言。 注意下:以前我也犯过的错误。 HTML是不区分大小写的。经常看见有人这么写, <input type=”button...
Javascript小技巧一箩筐 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode ...
可搜索(随机访问)XSALSA20...随机数和密钥const r = new RAXOR(nonce,key)r.seek(10000)//寻求字节偏移量10k r.update(out,input)//对输入缓冲区进行异或,就好像它是此偏移量r.final()//销毁实例许可证MIT
==jQuery IP 输入格式器== 该库将文本类型输入框转换为 ip 输入框,这将自动完成八位字节并强制执行 ip 格式。
bytes complete:已经上传完毕的文件字节数 total bytes:文件总体积的字节数 [编辑本段]常见错误 ■ 所上传的文件体积并未超出SWFUpload所设置的数值,但为何无法成功上传? □ 通常这是由于服务器端的限制...
字节示例此存储库包含Byte代码示例。 项目中的每个功能都有一个文件夹。 例如, input()函数的所有示例都将位于input文件夹中。
标准下:触发对象.oninput 3.焦点聚集和移开事件。onfocus和onblur 4.判断单字节(0-255之间)与双子节:正则表达式:/[^\x00-\xff]/g 代码如上: <!DOCTYPE ...
如果用户输入的字段仅接受英文字母(例如持卡人姓名字段),那么一个很小的库(约400字节,如果您希望将其缩小并gzip)将修复错误选择的布局。 安装 npm install whoops-wrong-layout 或者只是抓取文件,然后...