0

我有一个用户输入汽车注册的表格,所以我只想允许数字和字母?

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

所以我猜我弄错了。

4

4 回答 4

1

尝试:

if(preg_match("/([A-Za-z0-9])+/", $to)){
    // action ...       
}

您在正则表达式[的开头和结尾都缺少)

于 2013-01-08T10:10:17.727 回答
1

您在正则表达式中[A, 和)final 之前丢失了/。应该看起来像:

if (preg_match("/([A-Za-z0-9]+)/", $to)) {

此外,如果您只测试布尔值,而不是收集匹配项,则可以()完全省略。

于 2013-01-08T10:11:47.550 回答
0

将其更改为

if(preg_match("/([A-Za-z0-9])+/", $to))
于 2013-01-08T10:12:01.463 回答
0

我认为即使您的字符串在包含 ALSO 非字母数字字符的字符串中包含单个字母数字字符,其他答案正则表达式也会返回 true。(例如,尝试使用“???alpha!!123”)

如果您想确保您的字符串仅包含字母数字字符,请尝试以下代码:

if (preg_match("/^([[:alnum:]])*$/", $to))
{
    $errors[] = "Only use numbers and letters please";
}
于 2013-01-08T10:46:15.500 回答