日期:2014-05-16  浏览次数:20357 次

一段Javascript代码在firefox上面运行的问题
<script   language= "javascript ">
function   checkLetter_Num(str)
{
reg=/^[a-zA-Z]([a-zA-Z0-9]){3,19}$/gi;
if(!reg.test(str))
{
return   false;
}

return   true;
}

function   aa()
{
var   col   =   document.getElementsByTagName( "form ")[0];
if(trim(col.txtI.value)== " ")
{
alert( "请输入用户名! ");
col.txtI.focus();
return   false;
}
else
{
if(!checkLetter_Num(trim(col.txtI.value)))
{
alert( "用户名必须为字母开头,由数字、26个英文字母组成,介于4-20个字符 ");
return   false;
}
}

alert( "成功 ");
}
</script>

<form   name= "form1 "   id= "form1 "   method= "post "   action= "test.asp ">
<input   name= "txtI "   type= "text "   id= "txtI "   value= "sdfsdf "   />
<input   type= "button "   name= "Submit "   value= "按钮 "   onclick= "javascript:aa(); "   />
</form>


这么一段代码,在IE上面运行是正常的,但是在FireFox上面运行就会出一些小问题,比如填入abcdef,是符合要求的,单击按钮第一次是检验成功的,但是再单击一次,就会出现验证错误,说输入不符合格式的信息,不知是怎么回事,各位指教。

还有发现firefox上面javascript的用法怎么好多都跟ie不一样的啊,有没有具体说明哪些与ie上面不一样的用法啊。

------解决方案--------------------
reg=/^[a-zA-Z]([a-zA-Z0-9]){3,19}$/gi;
改为
reg=/^[a-zA-Z]([a-zA-Z0-9]){3,19}$/i;