用javascript编写一个字符串验证函数,要求输入字符长度限制6至20个任意字符且至少包含三个字母

如题所述

第1个回答  2012-04-10
function fnValidate(str){
var pattern = /^(?=.{6,20}$)([^a-z\r\n]*[a-z][^a-z\r\n]*){3,}/i;
//alert(pattern.test(str));
return pattern.test(str);
}

有问题再追问。本回答被提问者采纳
第2个回答  2012-04-10
以下代码测试通过:
<SCRIPT language="JavaScript">
<!--
function chkform(){
var s=document.form1.str1.value;
if((s.length<6)||(s.length>20)){
alert("字符长度必须是6至20个");
return false;
}
var n=0;
var cc;
var a=s.split("");
for(var i=0;i<a.length;i++){
cc=a[i].charCodeAt(0);
if(((cc>=65)&&(cc<=90))||((cc>=97)&&(cc<=122)))n++;
}
if(n<3){
alert("字符至少包含三个字母,大小写均可");
return false;
}
return true;
}
-->
</SCRIPT>
<form name=form1 action="" method="post" onsubmit="return chkform()">
<input type="text" name="str1">
<input type="submit" value="提交">
</form>追问

其实这里不需要var a=s.split("");,直接s.charCodeAt(i)就可以了

相似回答