正则表达式模式无法正常工作

时间:2013-04-15 13:53:36

标签: html regex

我正在对输入字段进行简单检查。我有3个地方,我正在验证用户输入:javascript正则表达式,HTML模式和PHP正则表达式。 Javascript和PHP部分工作正常,但我的HTML模式以某种方式返回每个输入的错误,除了空白。我在regexpal.com(正则表达式测试器)上进行了测试,它在那里工作得很好,所以我认为我一定做错了。

这是我的正则表达式:

/^[a-zA-Z0-9\!\?\,\.\s]{0,50}$/

我正在尝试允许用户输入以下内容:

  • 字母字符,包括大写字母
  • 数字字符
  • Puncation:感叹号(!),问题(?),逗号(,)和点(。)
  • 空间

以下是我如何实施它:

<input type="text" id="name" name="name" aria-required="true" pattern="/^[a-zA-Z0-9\!\?\,\.\s]{0,50}$/" value="loaded value from db">

请注意:我允许输入0个字符,因为我将使用PHP进行检查,如果输入字段为空,则会将预设值写入数据库。

基本上它应该允许用户输入一般的单词或句子,但不知何故它不允许任何东西。我没有得到“错误”的唯一方法是当我将输入字段留空时。我究竟做错了什么?我的正则表达式错了吗?我没有正确实施吗?如有必要,我可以提供更多代码。

非常感谢帮助!

提前致谢。

1 个答案:

答案 0 :(得分:2)

尝试从输入的模式属性中删除正斜杠(/)。