正则表达式以验证特定模式

时间:2016-07-12 16:46:29

标签: regex validation

我尝试使用以下限制创建正则表达式

  1. 允许任何字符' \ w \ W \ s' (例如rand123#!#@ adfads)
  2. 仅禁止数字(例如12312312)
  3. 仅禁止使用非字母数字字符(例如!@#$$#%#^%$ ^%)
  4. 字符数必须介于3到60之间
  5. 遵循this answer的行,但无法使其发挥作用。

    ^(?=.{3,60}$)(?![\W_]*$)(?![0-9]*$)[\w\W\s]+$
    

1 个答案:

答案 0 :(得分:1)

请注意,\W\s匹配,因此'\w\W\s'可以缩减为[\w\W]

您可以使用在开始时锚定的2个负向前瞻,强加两个“禁止”的条件,如下所示:

^(?![\W_]+$)(?![0-9]+$)[\w\W]{3,60}$

请参阅regex demo

模式详情

  • ^ - 字符串开头
  • (?![\W_]+$) - 字符串不能包含非字母数字字符
  • (?![0-9]+$) - 字符串不能只包含数字
  • [\w\W]{3,60} - 3到60个任意字符
  • $ - 字符串结束。