2015-04-21 67 views
2

我想驗證阿拉伯文和enligsh輸入字段。我在stackoverflow中搜索,我發現了一些東西,但實際上並沒有工作。我想驗證全名(將有空間),手機和標題。它的英文工作很好,但不是阿拉伯文。驗證阿拉伯文和英文輸入字段

全名:

if(!preg_match('/^[a-zA-Z ]{6,60}$/', $sendername) && 
    !preg_match('/^[\u0600-\u06FF]{6,60}$/', $sendername) 
       ) 
{ 
} 

MOBILE:

if(!(preg_match('/^[0-9]{8,15}$/', $senderphone)) && 
    !(preg_match('/^[\u10E60—\u10E7F]{8,15}$/', $senderphone)) 
{ 
} 

標題:

if((strlen($sendersubject) < 10) || (strlen($sendersubject) > 100)) 
{ 
} 

感謝親愛的支持

+0

告訴我們你找到了什麼,以及它爲什麼不工作? –

+0

親愛的我自定義這個頁面的代碼http://stackoverflow.com/questions/11323596/regular-expression-for-arabic-language –

+0

你的問題是什麼?順便說一句,你不應該驗證名稱:http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ –

回答

1

它可以讓你只寫阿拉伯字母和防止特殊字符。

的字符串傳遞給下面的功能。

function ValidateArabic($str) { 
    if (!preg_match("~^[a-z0-9٠-٩\-+,()/'\s\p{Arabic}]{1,60}$~iu", $str)) { 
     return false; 
    } else 
     return true; 
} 

See Demo阿拉伯文驗證。

+0

您已經包含阿拉伯語文本在一個PHP腳本?這不是一個好的解決方案!! –

+0

你能告訴我爲什麼嗎? – Noman

+0

因爲解釋器可能不會識別這種類型的ch字符,更好的解決方案可以包括其字符集。 –

1

你能不能只用在您正則表達式匹配的空白體現在哪裏?

if(!preg_match('/^[a-zA-Z\s]{6,60}$/', $sendername) && 
    !preg_match('/^[\u0600-\u06FF]{6,60}$/', $sendername) 
       ) 
{ 
} 

但是,一些內容和輸出將很有用。

相關問題