如何实现允许特殊字符但禁止空格的input正则pattern?
解决HTML表单Name输入框允许指定特殊字符的问题
把Name输入框的pattern属性值修改为包含允许的字母和特殊字符的正则表达式即可,注意正则字符集里部分特殊符号需要转义,避免被解析为正则语法:
修改后的pattern内容:
[A-Za-z!@#$%^&*()_+\-=\[\]|}{;'":,./?<>]+
完整代码如下:
<html> <body> <form method="get"> <input type="number" min="0" max="150" name="Age"/> <input type="text" name="Name" pattern="[A-Za-z!@#$%^&*()_+\-=\[\]|}{;'":,./?<>]+"/> <input type="submit" value="Submit"/> </form> </body> </html>
关键说明:
- 正则里的
-在字符集[]中如果放在中间会被识别为范围符号(比如A-Z),所以要转义成\-或者放在字符集的开头/结尾 [和]是字符集的边界符号,在字符集内部需要转义成\[和\]- 其他符号如
!@#$%^&*()_+=}{;'":,./?<>在字符集内部无需转义,可以直接使用 +表示匹配至少一个符合规则的字符,和你原来的规则保持一致
内容的提问来源于stack exchange,提问作者Epic Things ئېپوس
相关产品推荐
相关产品推荐

