我正在对输入字段进行简单检查。我有3个地方,我正在验证用户输入:javascript正则表达式,HTML模式和PHP正则表达式。 Javascript和PHP部分工作正常,但我的HTML模式以某种方式返回每个输入的错误,除了空白。我在regexpal.com(正则表达式测试器)上进行了测试,它在那里工作得很好,所以我认为我一定做错了。
这是我的正则表达式:
/^[a-zA-Z0-9\!\?\,\.\s]{0,50}$/
我正在尝试允许用户输入以下内容:
以下是我如何实施它:
<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进行检查,如果输入字段为空,则会将预设值写入数据库。
基本上它应该允许用户输入一般的单词或句子,但不知何故它不允许任何东西。我没有得到“错误”的唯一方法是当我将输入字段留空时。我究竟做错了什么?我的正则表达式错了吗?我没有正确实施吗?如有必要,我可以提供更多代码。
非常感谢帮助!
提前致谢。
答案 0 :(得分:2)
尝试从输入的模式属性中删除正斜杠(/)。