2012-03-30 38 views
1

Im验证表单及其易于验证数字,字母az等等,但是当我需要验证一个字段必须包含字符(az和特殊字符等作为öçğüiş)与至少有一个空间,只有我真的卡住了!Php ereg验证表格

我尝试了以下和其他一些技术没有成功:

function validateAlphaSpecial($value) { 
    if (ereg("/^[\p{L}\s]+$/", $value, $regs)) { 
      echo 'true'; 
     } else { 
      echo 'false'; 
     } 
} 

有没有人有一个解决方案。谢谢。

+0

[ereg已被弃用](http://php.net/manual/en/function.ereg.php)。你有没有考虑[PCRE](http://php.net/manual/en/book.pcre.php)? – cmbuckley 2012-03-30 22:36:26

+0

Ereg从PHP 5.3.0开始已经被拒绝。依靠这个功能是非常不鼓励的。 – ajreal 2012-03-30 22:36:26

+0

我从来没有在正则表达式匹配中使用过这样的字符,但我听说ereg将被弃用 – kappa 2012-03-30 22:38:57

回答

0

Ereg has been deprecated截至PHP 5.3.0像其他人所说,你不应该使用EREG。

下面的代码片段符合您的验证要求:a-z和特殊字符,如öçğüiş至少有一个空格

if(preg_match("/[\p{L}]\s{1,}+/u", $value) > 0) { 
    echo 'Valid'; 
} else { 
    echo 'Not valid'; 
} 

关于/ U改性剂 [从documentation]:

此改性剂导通的PCRE附加功能是 用Perl不相容。模式字符串被视为UTF-8。