我正在尝试从服务器端验证表单数据。我感兴趣的是,用户只需用波斯文字符填写表单。
我使用的是以下代码:
$name=trim($_POST['name']);
$name= mysql_real_escape_string($name);
if (preg_match('/^[\u0600-\u06FF]+$/',str_replace("\\\\","",$name))){$err.= "Please use Persian characters!";}
但是它不起作用!
以下是一个警告:
Warning: preg_match() [function.preg-match]: Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 3 in C:\xampp\htdocs\site\form.php on line 38
我能做什么?
发布于 2011-01-07 16:11:31
这应该行得通..。
**在开头添加^[以从匹配中排除阿拉伯语/波斯语字符...
if (preg_match('/^[^\x{600}-\x{6FF}]+$/u', str_replace("\\\\","",$name)))
发布于 2015-02-01 02:18:41
http://utf8-chartable.de/unicode-utf8-table.pl?start=1536&number=1024&utf8=0x&addlinks=1&htmlent=1
600 - 6FF范围内的پژگچ
仅限fa:
preg_match('/^[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ\s]+$/u', $input);
en、en-num和fa字符:
preg_match('/^([a-zA-Z0-9 پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ])+$/u', $input);
您可以设置fa-يك或阿拉伯数字
发布于 2013-08-10 23:05:42
您应该使用以下命令:
if(preg_match("/^[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]/", $_POST['name']))
https://stackoverflow.com/questions/4621727
复制相似问题