用户输入验证仅允许数字和字母

时间:2013-01-08 10:09:19

标签: php validation

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

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 个答案:

答案 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";
}