我正在尝试检查字符串是否包含至少5位数字,没有字母或特殊字符 我的代码如下:
var re = /^[a-zA-Z!@#\$%\^\&*\)\(+=._-]{5,}$/g;
但是当我尝试使用prm= "5653636*"
或"32266"
或"256"
它始终返回false
当我做以下事情时:
re.test(prm)
答案 0 :(得分:1)
查看字符串是否没有字母[^a-zA-Z];
^ -means NOT和[]用于匹配字符范围
你可以使用长度属性来查找长度。
以下代码段匹配的是一个字符串,它没有字母表,并且其长度大于5。
var _string = "1234567";
var re = /[^a-z]+/i;
if(re.text(_string)){ // true
}
if(_string.length > 5){ //true
}
答案 1 :(得分:1)
鉴于我的要求是正确的,我认为这是您正在寻找的:
[^a-zA-Z]{5,}
如果您只想允许正则表达式中的特殊字符,您可以执行以下操作:
[0-9!@\#\$%\^&\*\)\(\+=\._-]{5,}