2013-03-20 159 views
0

我用下面的代码和正则表达式下划线跳过正则表达式

var regex = new RegExp (/^(?=.*[\w\d]).+/); 
if (!regex.test(value)) { 
    console.log(' not valid string'); 
} 

用于下列要求: -

  1. 它将使所有的特殊字符
  2. 它必须包含至少1字母或数字
  3. 只有特殊字符不起作用

一切工作正常,但如果**我只输入_(下划线),验证通过,不应该。无效的字符串不会打印。

回答

1

使用以下正则表达式:

/^(?=.*[A-Za-z\d]).+/ 

您正则表达式失败,因为在正则表达式\w代表一个字母或数字或下划线。您的正则表达式可以检查以下字符是否遵循零个或多个字符,后跟一个字符(字母/数字/下划线)后跟一个数字。