PREG_MATCH a-z、A-Z、0-9 句号和正斜线
PREG_MATCH a-z, A-Z, 0-9 fullstop and forwardslash
我需要验证一些数据并确认模式仅包含 a-z
、A-Z
、0-9
、full-stop
或 forward slash
。
if(!preg_match("/^[a-zA-Z0-9 ./]*$/",$field)) {
$fielderror = "Field can only contain a-z A-Z 0-9 . /";
}
但是,它似乎允许其他特殊字符,例如:@ # and $
。
有什么想法吗?以为我错过了一些非常明显的东西....
您的代码有错误:
E_WARNING : type 2 -- preg_match(): Unknown modifier ']' -- at line 4
$field = "123";
//$field = "@*";
if(!preg_match("/^[a-zA-Z0-9 \.\/]+g/",$field)) {
echo "Field can only contain a-z A-Z 0-9 . /";
} else {
echo "its ok";
}
你可以使用这个regex
:
^[a-zA-Z0-9\.\/]+
您只能对 /
进行转义,因为它用作定界符(出现在模式的开头和结尾):
if(!preg_match("/^[a-zA-Z0-9 .\/]*$/",$field)) {
$fielderror = "Field can only contain a-z A-Z 0-9 . /";
}
请参阅正则表达式中使用的 here for more information about delimiters。
我需要验证一些数据并确认模式仅包含 a-z
、A-Z
、0-9
、full-stop
或 forward slash
。
if(!preg_match("/^[a-zA-Z0-9 ./]*$/",$field)) {
$fielderror = "Field can only contain a-z A-Z 0-9 . /";
}
但是,它似乎允许其他特殊字符,例如:@ # and $
。
有什么想法吗?以为我错过了一些非常明显的东西....
您的代码有错误:
E_WARNING : type 2 -- preg_match(): Unknown modifier ']' -- at line 4
$field = "123";
//$field = "@*";
if(!preg_match("/^[a-zA-Z0-9 \.\/]+g/",$field)) {
echo "Field can only contain a-z A-Z 0-9 . /";
} else {
echo "its ok";
}
你可以使用这个regex
:
^[a-zA-Z0-9\.\/]+
您只能对 /
进行转义,因为它用作定界符(出现在模式的开头和结尾):
if(!preg_match("/^[a-zA-Z0-9 .\/]*$/",$field)) {
$fielderror = "Field can only contain a-z A-Z 0-9 . /";
}
请参阅正则表达式中使用的 here for more information about delimiters。