保护正则表达式,限制特定的特殊字符

时间:2013-07-26 09:51:28

标签: php regex

我尝试使用以下规范创建正则表达式

  • 任何字母字符(至少一个)

  • 任何数字字符(至少一个)

  • 没有空格

  • 接受所有特殊字符(",;&|'除外)

^(?=.*[0-9])(?=.*[a-z])(?!.*\s)((?!.*[",;&|'])|(?=(.*\W){1,}))(?!.*[",;&|'])$

这是我试过的那个。 我能用这个做什么?

1 个答案:

答案 0 :(得分:2)

问题仍然含糊不清,请提供一些可接受的字符串示例。

为了让您入门,您可以使用:

  • 否定前瞻中的字符类
  • 不要忘记开始&结束锚:

正则表达式:

/^(?=.*?\d)(?=.*?[a-z])(?!.*?[ ",;&|']).+$/i

此正则表达式将匹配1个或多个不是",;&|'之一且至少一个数字的字符,并且需要a-z alpgabet。

现场演示:http://www.rubular.com/r/nxdi79ZcRx

在PHP中使用它:

'/^(?=.*?\d)(?=.*?[a-z])(?!.*?[ ",;&|\']).+$/i'