我在php工作,想为提交的文本字段设置一些规则。我想允许字母,数字,空格和符号# ' , -
这就是我所拥有的:
/^(a-z,0-9+# )+$/i
这似乎有效,但当我添加'
或-
符号时,我会收到错误。
答案 0 :(得分:4)
几乎就在那里。您正在寻找的是character classes。这些用方括号表示。例如
/^[-a-z0-9+#,' ]+$/i
要包含连字符,它必须是该类中的第一个或最后一个字符。
由于您要包含单引号并且您正在使用PHP,其中正则表达式必须表示为字符串,请小心引用模式的方式。在这种情况下,您可以使用
之一$pattern = "/^[-a-z0-9+#,' ]+\$/i"; // or
$pattern = '/^[-a-z0-9+#,\' ]+$/i';
答案 1 :(得分:2)
您应该使用字符类 - [a-zA-Z0-9 #',-]
请注意,-
应首先使用或最后使用或转义,否则会将其视为表示范围,您将收到错误
答案 2 :(得分:2)
我想允许字母,数字,空格和符号
#
,'
,,
和-
。
使用此正则表达式...
/^[-a-zA-Z\d ',#]+\z/
请注意\z
。如果您使用$
,则允许尾随\n
。 CodePad
如果您使用'
作为字符串分隔符,请确保转义'
。
答案 3 :(得分:1)
请使用/^[a-z,0-9+\#\-,\s]+$/i
答案 4 :(得分:0)
使用此正则表达式:
/^[-a-z0-9,# ']+$/i