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

问题描述:

我有一个表格,用户输入车登记,所以我只想让数字和字母?用户输入验证只有数字和字母允许

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

我还以为该消息说有一个失踪),事实上,你的正则表达式有一个开放(没有结束),并没有开幕[闭幕] [很明显 –

你的A前失踪[结束),并在您的正则表达式最终/) 。应该是这样的:

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

另外,如果你只是在测试的布尔值,而不是收集的比赛,你可以省略()完全。

+0

我等待谁将成为第一个发现**都**错误。你在哪里1st;) – Peon

+0

@DainisAbols谢谢:) – scoota269

+0

这个正则表达式排除包含非字母数字字符的字符串吗? –

尝试:

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

你错过[在开始和在正则表达式

将其更改为

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

对不起,我错过了[。现在它会工作 –

我想,即使你的字符串包含字符串中也含有非字母数字字符一个字符的字母数字等答案正则表达式返回true。 (尝试用“4-8α-!! 123”的exaple)

如果你想确保你的字符串只包含字母数字字符,试试这个代码:

if (preg_match("/^([[:alnum:]])*$/", $to)) 
{ 
    $errors[] = "Only use numbers and letters please"; 
}