2012-03-30 74 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。