我正在尝试从服务器端验证形式数据。我的兴趣是,用户只需通过波斯字符填写表格即可。

我正在使用此代码:

$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

我能做些什么?

有帮助吗?

解决方案

这个“应该”工作...

**在开口后添加了 ^ ^ [将比赛中排除阿拉伯语/Farsi字符...

if (preg_match('/^[^\x{600}-\x{6FF}]+$/u', str_replace("\\\\","",$name)))

其他提示

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-numbers或阿拉伯语ك

您应该使用此:

if(preg_match("/^[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]/", $_POST['name']))

这个正则:

if(preg_match("/^[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]/", $_POST['name']))

包括数字和空间?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top