正则表达式和后变量

时间:2012-02-22 15:31:51

标签: php regex

当我发送表格并检查阿拉伯语,英语和数字字符时,下面的代码不起作用:

<?
$username = $_POST["alalala"];
if ($username){
if (!preg_match("/^[a-zA-Z0-9ا-ي ]+$/i", $username)){
echo "error";
}else{
echo "ok";
}  
}
?>
<form method="post">
<input type="text" name="alalala">

正则表达式在$ _post [alalala]

中找不到阿拉伯语

修改

不工作:s,问题不在p {阿拉伯语}

只有在提交表单

时才会找到阿拉伯语字符

EDIT2 :当我更改行

$username = $_POST["alalala"];

$username = "any thing نستيتيلا";

正则表达式找到阿拉伯语字符

2 个答案:

答案 0 :(得分:0)

试试这个:

preg_match(/^(\p{Arabic}|[a-zA-Z0-9])+$/i, $username)

答案 1 :(得分:0)