js控制input输入长度
// 使用方法如下所示
// <input name = "inputName" maxlength="8" description="保单号" οnblur="checkLength(this)">
function checkLength(field)
{
var str;
var count = 0;
var value = field.value;
var length = field.maxLength;
var desc = field.description;
//如果description属性不存在,则用name属性
if(desc==null)
desc = field.name;
if(value=="")
{
return true;
}
if(value.indexOf("^")>-1 ||
value.indexOf(FIELD_SEPARATOR)>-1 ||
value.indexOf(GROUP_SEPARATOR)>-1
)
{
errorMessage("^为系统保留字符,不允许输入!");
field.focus();
field.select();
return false;
}
//如果maxlength属性不存在,则返回
if(isNaN(parseInt(length,10)))
return true;
for(var i=0;i<value.length;i++)
{
str = escape(value.charAt(i));
if(str.substring(0,2)=="%u" && str.length==6)
count = count + 2;
else
count = count + 1;
}
if(field.name.length>=8 && field.name.toUpperCase().substring(field.name.length-8)=='POSTCODE' || field.description=='邮政编码')
{
if (value != "") { //邮政编码判断
var pattern = /^[0-9]{6}$/;
var flag = pattern.test(value);
if (!flag) {
alert("非法的邮政编码!")
field.focus();
return false;
}
}
}
if(count>length)
{
errorMessage(desc + "输入的内容超长!\n" + desc + "的最大长度为" + length + "个英文字符!\n请重新输入!");
field.focus();
field.select();
return false;
}
return true;
}