[英]Exact match a string using Regular Expression in JavaScript
我想验证JavaScript中的字符串以允许字母数字,“(”,“)”和空格。 因此测试字符串为:
s1 = "This $h00l*&^ not w0rk342*_(&, <and> always fail"
s2 = "This should work (ABC1234)"
我的代码:
var regX = new RegExp(/A-Za-z0-9\\(\\)\\x20+/);
if(!regX.test(s1)){
alert("InValid value.");
}
但是对于两个字符串都失败。
同样作为test()函数评估字符串而不是整个字符串中的匹配项https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test
有人可以帮忙吗? 提前致谢
您应该使用此正则表达式:
/^[A-Za-z0-9() ]*$/
如果您不希望使用空字符串,请用+
替换*
。
^
和$
测试字符串的开头和结尾。
*
表示重复0次或更多次。 +
表示重复一次或多次。
要指定一个字符类(即一组字符),您需要将这些字符放在[]
。
要进一步缩短正则表达式:
/^[a-z\d() ]*$/i
i
标志将使正则表达式不区分大小写地匹配,从而消除了指定AZ
的需要。
\\d
是数字0-9
的速记字符类。 速记字符类也可以包含在字符类中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.