我需要检查变量是否包含除a-z A-Z 0-9和“。”以外的任何其他变量。角色(句号)。任何帮助,将不胜感激。只允许PHP中的某些字符
5
A
回答
8
if (preg_match('/[^A-Z\d.]/i', $var))
print $var;
6
if (preg_match("/[^A-Za-z0-9.]/", $myVar)) {
// make something
}
这里的关键是在[]组中使用“^” - 它匹配除了括号内的所有字符。
9
有两种方法可以做到这一点。
判断变量是否包含允许范围内的任何一个字符而不是。这是通过使用一个负字符类[^ ...]实现:
preg_match('/[^a-zA-Z0-9\.]/', $your_variable);
钍另一种方法是,以确保该字符串中的每个字符是在允许的范围内:
!preg_match('/^[a-zA-Z0-9\.]*$/', $your_variable);
我认为这只会检测由_only_未指定字符组成的字符串 - 最好使用/[^A-Za-z0-9\.]/ – 2008-12-28 14:44:49