Javascript 在检查字符串是否至少为5位数字时,没有alpha或特殊字符给出意外结果
我正在尝试检查字符串是否包含至少5位数字,没有字母或特殊字符。Javascript 在检查字符串是否至少为5位数字时,没有alpha或特殊字符给出意外结果,javascript,regex,Javascript,Regex,我正在尝试检查字符串是否包含至少5位数字,没有字母或特殊字符。 我的代码如下: var re = /^[a-zA-Z!@#\$%\^\&*\)\(+=._-]{5,}$/g; 但是当我尝试使用prm=“5653636*”或“32266”或“256” 它总是返回false 当我执行以下操作时: re.test(prm) 查看字符串是否没有字母表[^a-zA-Z] ^-表示不匹配,使用[]匹配字符范围 u可以使用长度属性来查找长度 以下代码段将匹配一个没有字母表且长度大于5的字符串 va
我的代码如下:
var re = /^[a-zA-Z!@#\$%\^\&*\)\(+=._-]{5,}$/g;
但是当我尝试使用prm=“5653636*”
或“32266”
或“256”
它总是返回false
当我执行以下操作时:
re.test(prm)
查看字符串是否没有字母表
[^a-zA-Z]代码>
^-表示不匹配,使用[]匹配字符范围
u可以使用长度属性来查找长度
以下代码段将匹配一个没有字母表且长度大于5的字符串
var _string = "1234567";
var re = /[^a-z]+/i;
if(re.text(_string)){ // true
}
if(_string.length > 5){ //true
}
考虑到我对您的要求的了解,我认为这就是您所寻找的:
[^a-zA-Z]{5,}
- 至少5个字符
- 无字母字符(A-Z)
- 允许使用数字、特殊字符和空白
如果只允许正则表达式中的特殊字符,可以执行以下操作:
[0-9!@\\$%^&*\(\+=\.-]{5,}
当使用测试时,不要使用/g
。^\d{5,}$
有什么问题吗?此外,你甚至可以尝试将它转换成一个数字并检查它是否大于10000。尽管这会消除前导零。试试^([^a-zA-Z\d]*\d){5,}[^a-zA-Z]*$
我的问题是为什么这不起作用?