使用 preg_match() 函数的阿拉伯字符
Arabic characters using preg_match() function
我正在尝试使用 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 {}
您需要将 /u
修饰符与 preg_match
一起使用,以确保模式和字符串被视为 Unicode 字符串,并且 strlen
必须替换为 mb_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>");
}
我正在尝试使用 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 {}
您需要将 /u
修饰符与 preg_match
一起使用,以确保模式和字符串被视为 Unicode 字符串,并且 strlen
必须替换为 mb_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>");
}