function checkForm( )
{
var a=document.userform.txtName.value;
if(a.length!=0)
{
for(i=0;i<a.length;i++)
{
var b=a.substring(i,1);
if( !((b>=0&&b<=9)||(b>='a'&&b<='z')) )
{
alert("包含非法字符");
return false;
}
}
}
else
{
alert("请输入名字");
}
return true; 我这样写的话输入小写字母是对了 输入数字也是对的 输入 小写字母+数字也是对的 但是输入数字+字母就是错了 通过不了,求真解!
{
var a=document.userform.txtName.value;
if(a.length!=0)
{
for(i=0;i<a.length;i++)
{
var b=a.substring(i,1);
if( !((b>=0&&b<=9)||(b>='a'&&b<='z')) )
{
alert("包含非法字符");
return false;
}
}
}
else
{
alert("请输入名字");
}
return true; 我这样写的话输入小写字母是对了 输入数字也是对的 输入 小写字母+数字也是对的 但是输入数字+字母就是错了 通过不了,求真解!
if(!(/^[a-z0-9]+$/ig).test(a)) { //如果要的是只能包含数字或字母的
return false;
}
if(!(/^(?![a-z]+$)(?![0-9]+$)[a-z0-9]+$/ig).test(a)) { //如果要的是只能包含数字和字母,且都需要存在的话
return false;
}这2种根据你的需要选择一个吧
在提交的时候判断s="xxxxxx"
if(/^[a-z0-9]/.test(s))
alert("非法")
var b=a.substring(i,1);
原因很简单
你先看下substring的功能
至于比较的结果为什么开始对我就不解释了。你调试下就明白了
if(a.length!=0)
{
for(i=0;i<a.length;i++)
{
var b=a.substring(i,1);
alert(b); //加上他,你看看你的b是每一个字符吗呵呵~
if( !((b>=0&&b<=9)||(b>='a'&&b<='z')) )
{
alert("包含非法字符");
return false;
}
}
}
else
{
alert("请输入名字");
}
return true;
start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。substring() 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。如果参数 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。用函数的时候一定要弄清楚。这个和其他程序设计语言的功能未必一样~