用JS判断输入的最大数(一个汉字为二个单位、一个英文字母为一个单位)
2011-01-18 10:04
316 查看
虽然HTML的文本框自代一个验证最大值的函数maxlength,但这家伙不顶用,一个汉字和一个英文字母都是一个单位,这样显然不对。以下是解决方案
/////////////////////////////////////////////////////////////////////
// 判断长度是否合格
//
// 引数 s 传入的字符串
// n 限制的长度n以下
//
// 返回值 false NG
// true OK
/////////////////////////////////////////////////////////////////////
function WidthCheck(s, n){
var w = 0;
for (var i=0; i<s.length; i++) {
var c = s.charCodeAt(i);
//单字节加1
if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
w++;
}
else {
w+=2;
}
}
if (w > n) {
return false;
}
return true;
}
以下是我自己衍生出的验证输入个数的东东:
<input type="text" size="16" name="num" id="num" onChange="WidthCheck(this,5);"/>
function WidthCheck(str, maxLen){
var w = 0;
var tempCount = 0;
for (var i=0; i<str.value.length; i++) {
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;
}
}
}
出处http://youaremyrice.blog.51cto.com/293941/58316
/////////////////////////////////////////////////////////////////////
// 判断长度是否合格
//
// 引数 s 传入的字符串
// n 限制的长度n以下
//
// 返回值 false NG
// true OK
/////////////////////////////////////////////////////////////////////
function WidthCheck(s, n){
var w = 0;
for (var i=0; i<s.length; i++) {
var c = s.charCodeAt(i);
//单字节加1
if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
w++;
}
else {
w+=2;
}
}
if (w > n) {
return false;
}
return true;
}
以下是我自己衍生出的验证输入个数的东东:
<input type="text" size="16" name="num" id="num" onChange="WidthCheck(this,5);"/>
function WidthCheck(str, maxLen){
var w = 0;
var tempCount = 0;
for (var i=0; i<str.value.length; i++) {
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;
}
}
}
出处http://youaremyrice.blog.51cto.com/293941/58316
相关文章推荐
- [升级版]用JS判断输入的最大数(一个汉字为二个单位、一个英文字母为一个单位)
- JS判断输入的最大数(一个汉字为二个单位、一个英文字母为一个单位)
- 用JS判断输入的最大数(一个汉字为二个单位、一个英文字母为一个单位)
- js判断输入字符串长度(汉字算两个字符,字母数字算一个)
- js判断输入字符串长度(汉字算两个字符,字母数字算一个)
- js判断输入字符串长度(汉字算两个字符,字母数字算一个)
- js判断输入字符串长度(汉字算两个字符,字母数字算一个)
- JS判断输入字符串长度(汉字算两个字符,字母数字算一个)
- js脚本系列(1) JS判断输入字符串长度(汉字算两个字符,字母数字算一个)
- JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
- JS判断输入字符串长度(汉字算两个字符,字母数字算一个)
- js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
- JS 判断输入字符串的长度(中文占用两个字节,英文占用一个字节)
- 正则表达式 jquery js 只能输入中文和汉字,正则表达式禁用英文26个字母 通达OA测试
- JavaScript 中怎样判断文本框只能输出英文字母、汉字和数字,不能输入特殊字符!
- JS判断文本框输入的包含字母,数字,汉字,但输入的时候必须有汉字
- JS判断一个字符是汉字还是字母
- js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
- java小练习:输入一个字符,判断该字符是数字?英文字母?还是其他字符
- 笔试题——编写java程序:输入一个字符串,判断有几个英文字母,有几个数字,有几个其它的字符