我有一个表格,用户输入汽车注册,所以我只想允许数字和字母?
if(preg_match("/(A-Za-z0-9]+/", $to)){
$errors[] = "Only use numbers and letters please";}
得到错误......
Warning: preg_match() [function.preg-match]: Compilation failed: missing ) at offset 12 in /homepages/28/d420353834/htdocs/regupdate.php on line 84
所以我猜我错了。
答案 0 :(得分:1)
尝试:
if(preg_match("/([A-Za-z0-9])+/", $to)){
// action ...
}
你在开始时和{regexp中的[
错过了)
答案 1 :(得分:1)
你在[
之前遗失A
,在你的正则表达式中最后)
之前遗失/
。应该是这样的:
if (preg_match("/([A-Za-z0-9]+)/", $to)) {
此外,如果您只是测试布尔值而不是收集匹配项,则可以完全省略()
。
答案 2 :(得分:0)
将其更改为
if(preg_match("/([A-Za-z0-9])+/", $to))
答案 3 :(得分:0)
我认为其他答案regexp会返回true,即使您的字符串在包含ALSO非字母数字字符的字符串中包含单个字母数字字符。 (尝试用“??? alpha !! 123”作为exaple)
如果您想确保您的字符串只包含字母数字字符,请尝试以下代码:
if (preg_match("/^([[:alnum:]])*$/", $to))
{
$errors[] = "Only use numbers and letters please";
}