javascript jsp 表单验证 字符串长度
代码如下,Address为一个文本框,我想字符串长度小于5时,执行代码段1,现在输入的如果是字符的话,是对的,能验证;但如果输入的中文,照道理一个中文算两个字符,但这里我发现,一个中文字段一个字符。这是为什么??又该怎样验证呢?? if (form.Address.value.length<5) { 代码段1 } else{ }
代码如下,Address为一个文本框,我想字符串长度小于5时,执行代码段1,现在输入的如果是字符的话,是对的,能验证;但如果输入的中文,照道理一个中文算两个字符,但这里我发现,一个中文字段一个字符。这是为什么??又该怎样验证呢?? if (form.Address.value.length<5) { 代码段1 } else{ }
答案:<script type="text/javascript">
function getlength(str){
var count=0;
var patten= /^[!,@,#,$,%,^,&,*,(,),<,{,},>,0-9,a-z]*$/;
var re = new RegExp(patten);
for(var i=0;i<str.length;i++){
if(re.test(str.charAt(i))){
count++;
}else{
count=count+2;
}
}
return count;
}
if(getlength("hi你好")<5){
alert("长度小于5");
}else{
alert("长度大于5");
}
</script>
其他:.length判断一个中文长度为一,所有类似方法都是这样的,你可以自己写个方法来返回长度,先判断是不是中文,是的话长度加2,否则加1 用正则表达式来匹配输入看看是不是字符,如果不是在判断长度是不是小于5。。。
上一个:懂jsp的人帮忙解决一下谢谢了
下一个:编写jsp代码,使得点出“提交”按钮后,对录入“用户名”“密码”进行验证,不符合条件的弹出对话框提示