大家帮我看一下,怎么一下子JS 里面的test不起作用了,
function chkEmail(obj, mark) {
var szReg = "/^[A-Za-z0-9]+([-_.][A-Za-z0-9]+)*@([A-Za-z0-9]+[-_.])+[A-Za-z]{2,4}$/";
alert("初始化参数正常" + obj.value + szReg);
//弹框正常,取值正常,变量字符正常,一个不少,,
//我想帖这么多代码应该得了吧,因为obj.value能取到值啊,
//是不是正则字符出错了?出错也不会不执行吧?最多返回false而已
//但是只执行到这里,下面这句是怎么了,刚做好的时候还可以的,刚今早发现不得了
if (!szReg.test(obj.value)) {
alert("判断通过啊");
document.getElementById(mark).style.color = "red";
document.getElementById(mark).value = "请输入正确的邮箱!";
return false;
}
alert("执行结束正常");
//道理应该还要显示上面这个提示框的,事实没执行
return true;
}
------解决方案--------------------在if?(!szReg.test(obj.value))前添加alert(szReg.test(obj.value))查看结果
------解决方案--------------------应该是 if (!szReg.test(obj.value)) 这个方法里面了返回为true
------解决方案--------------------前面说错了 ! 你用 浏览器开发者工具 看看 是否JS脚本报错
------解决方案--------------------document.getElementById(mark).style.color?=?"red";
"mark" ?
------解决方案--------------------看错了,mark是参数
看看是不是mark的值有问题,没有效果不一定是没执行
------解决方案--------------------
var szReg = "/^[A-Za-z0-9]+([-_.][A-Za-z0-9]+)*@([A-Za-z0-9]+[-_.])+[A-Za-z]{2,4}$/";
不要引号啊
加了引号成字符串了
------解决方案--------------------js里正则不加引号直接用 /表达式/ 就行了
------解决方案--------------------var re=/^[a-z]+\s+\d+$/i;
var osVersion="";
alert(re.test (osVersion ));//True;
看看正则怎么用的
------解决方案--------------------http://www.blogjava.net/onejavaer/articles/79070.html