检查字符串是否最少5位,没有alpha或特殊字符会产生意外结果

时间:2016-01-04 12:36:06

标签: javascript regex

我正在尝试检查字符串是否包含至少5位数字,没有字母或特殊字符 我的代码如下:

var re = /^[a-zA-Z!@#\$%\^\&*\)\(+=._-]{5,}$/g;

但是当我尝试使用prm= "5653636*""32266""256"

它始终返回false 当我做以下事情时:

re.test(prm)

2 个答案:

答案 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,}

  • 至少5个字符
  • 没有字母字符(A-Z)
  • 允许使用数字,特殊字符和空格

如果您只想允许正则表达式中的特殊字符,您可以执行以下操作:

[0-9!@\#\$%\^&\*\)\(\+=\._-]{5,}