用JS判断输入的最大数(一个汉字为二个单位、一个英文字母为一个单位)
来源:互联网 发布:linux opencv 二值化 编辑:程序博客网 时间:2024/05/05 22:48
虽然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;
}
// 判断长度是否合格
//
// 引数 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;
}
}
}
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;
}
}
}
- 用JS判断输入的最大数(一个汉字为二个单位、一个英文字母为一个单位)
- 用JS判断输入的最大数(一个汉字为二个单位、一个英文字母为一个单位)
- 一个水池容量为1000个单位,水池每秒进水4个单位,每秒放水1个单位,求水池满了后的时间?
- 【codechef】判断一个数是否为某组勾股数的最大数?
- 输入一个数,判断是否为素数
- 输入一个数判断是否为素数
- 判断输入的一个数是否为素数
- 判断一个输入的数是否为素数
- 判断输入一个数是否为素数的一般算法
- JS获取字符串长度(一个汉字视为2个单位长度)
- 要求循环输入一个数,判断是否为回文数
- 输入一个数判断其是否为回文数 java
- 以单词为单位倒序输出一个字符串
- 将一个英文语句以单词为单位逆序排放。
- 判断一个数是否为一个素数
- 循环输入一个数,判断是否为素数。
- .循环输入一个数,判断是否为素数.Cpp
- .循环输入一个数,判断是否为素数
- 建房子
- “进程后2G的空间是在什么时候映射的??? ”。
- 爆笑日本 看我中华男儿风采!!!
- 动态链接MFC引发的血案
- inner join on, left join on, right join on讲解(转载)
- 用JS判断输入的最大数(一个汉字为二个单位、一个英文字母为一个单位)
- vs2008 工具栏内容出不来
- GridView1里面的 当本行在编辑状态下 就变成下拉框 并且绑定了 数据
- 做了一个在MFC的工程中编译C文件的实验
- 给你的网站添加标识图标(也就是地址栏的图标)
- IIS认证方法详解
- jQuery Ajax 方法调用 Asp.Net WebService 的详细例子(原创)
- Oracle 基本建表语句
- Hamachi 愚人节介绍一款小软件