2017-07-07 92 views
0

林试图让用户验证一个的preg_match规则的preg_match用户验证

只允许AZ - AZ - 0-9 和人物_- = @:?!, 没有空格

我已经尝试了很多组合,但似乎没有人上班

这是林试图让:

if(preg_match('idk what to use here', '[email protected]?')) { 
     return true; 
    } 

    if(preg_match('idk what to use here', '$Hello')) { 
     return false; 
    } 

    if(preg_match('idk what to use here', 'Hello 123')) { 
     return false; 
    } 

任何人都知道这个正则表达式? 谢谢:)

回答

0

使用一个类,但一定要逃脱连字符或把它作为最后一个字符,否则它表示一个范围。使用^$要求所有输入的字符匹配的模式:

$regex = "/^[[email protected]:.,-]*$/"; 

var_dump(preg_match($regex, '[email protected]?')); 
var_dump(preg_match($regex, '$Hello')); 
var_dump(preg_match($regex, 'Hello 123')); 
+0

由于做工精良:) –