javascript的test()方法

来源:百度知道 编辑:UC知道 时间:2024/06/23 02:40:27
我在做jsp网页前台注册验证的时候,有这么一行代码
(/>|<|,|\[|\]|\{|\}|\?|\/|\+|=|\||\'|\\|\"|:|;|\~|\!|\@|\#|\*|\$|\%|\^|\&|\(|\)|`/i).test(val)
其中val是用户输入传入的变量,但是我发现在jsp中,无论我输入的是什么,上面的表达式返回值都会是true,而我把jsp网页后缀直接改为html后就返回就正常了,请问这是怎么回事呢,要怎么解决呢
我用的就是js语句的正则表达式,只是奇怪后缀改网页的为html就没什么问题了,我打印
alert((/>|<|,|\[|\]|\{|\}|\?|\/|\+|=|\||\'|\\|\"|:|;|\~|\!|\@|\#|\*|\$|\%|\^|\&|\(|\)|`/i).exec(val))
结果显示为空的,之前的表达式没错,但是网页的后缀是jsp就出现问题

这个方法有时有问题,你用这个方法就好了和test的功能一样,判断正则表达式匹配的
var patrn=/^(\w){4,10}$/;
if (!patrn.exec(p1)){
alert("222");
}

这个是正则表达式, 用来判断用户录入的信息是否满足规范

java 跟js的正则表达式多少还是有些区别的
这是我最近写得关于js与java中正则表达式的区别和相同点
http://hi.baidu.com/wjk2813/blog/item/518161eed17e96212cf53424.html