2015-04-21 42 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) 
       ) 
{ 
} 

但是,一些内容和输出将很有用。

相关问题