Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 使用preg_match()函数的阿拉伯字符_Function_Character_Preg Match_Match_Arabic - Fatal编程技术网

Function 使用preg_match()函数的阿拉伯字符

Function 使用preg_match()函数的阿拉伯字符,function,character,preg-match,match,arabic,Function,Character,Preg Match,Match,Arabic,我尝试使用preg_match()仅检查阿拉伯语和英语字符 我使用了以下代码: preg_match("/^[a-zA-Zأ-ي]*$/",$name) 但它仍然不起作用 编辑:不起作用的代码: if($name == '' || $email =='') { echo("<div class=\"error\">fill all fields</div>"); } else if (!preg_match("/^[a-zA-Zأ-ي\s]*$/",$name)

我尝试使用preg_match()仅检查阿拉伯语和英语字符

我使用了以下代码:

preg_match("/^[a-zA-Zأ-ي]*$/",$name)
但它仍然不起作用

编辑:不起作用的代码:

if($name == '' || $email =='') {
    echo("<div class=\"error\">fill all fields</div>");
}
else if (!preg_match("/^[a-zA-Zأ-ي\s]*$/",$name)) {
     echo("<div class=\"error\">Only letters and white space allowed</div>");
}
else if (strlen($name) < 6) {
    echo("<div class=\"error\">NONONONO les than 6</div>");
}
else if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo("<div class=\"error\">WORNG EMAIL</div>"); 
} else {}
if($name=''| |$email=''){
echo(“填充所有字段”);
}
如果(!preg_match(“/^[a-zA-Zأ-ي\s]*$/”,$name)){
echo(“仅允许字母和空白”);
}
else if(strlen($name)<6){
回声(“不小于6”);
}
如果(!filter_var($email,filter_VALIDATE_email)){
echo(“工作电子邮件”);
}else{}

您需要使用带有
preg\u match
/u
修饰符,以确保模式和字符串被视为Unicode字符串,并且必须将
strlen
替换为以正确计数Unicode字符:

else if (!preg_match("/^[a-zA-Zأ-ي\s]*$/u",$name)) {
     echo("<div class=\"error\">Only letters and white space allowed</div>");
}
else if (mb_strlen($name) < 6) {
    echo("<div class=\"error\">NONONONO les than 6</div>");
}
else如果(!preg_match(“/^[a-zA-Zأ-ي\s]*$/u”,$name)){
echo(“仅允许字母和空白”);
}
否则如果(mb_strlen($name)<6){
回声(“不小于6”);
}

Use
preg_match(“/^[a-zA-Zأ-ي]*$/u”,$name)
是的,亲爱的,我也使用了这个代码。但是,当我想使用strlen函数检查字符串长度不少于6个字符时,我遇到了一个问题,在应用preg_match()函数后,它不能很好地工作。使用。您有问题的完整相关代码是什么?`if($name=''.|$email=''{echo(“填充所有字段”)}else if(!preg_match('/^[a-zA-Zأ-ي\s]*$/u“,$name”){echo(“只允许字母和空格”);}如果(mb_strlen($name)<6){echo(“不允许小于6”);}如果(!filter_var($email,filter_VALIDATE_email)){echo(“WORNG email”)}如果{`