首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用preg_match检测字符串中的波斯语(波斯语)字符

使用preg_match检测字符串中的波斯语(波斯语)字符
EN

Stack Overflow用户
提问于 2011-01-07 09:26:19
回答 4查看 8.5K关注 0票数 15

我正在尝试从服务器端验证表单数据。我感兴趣的是,用户只需用波斯文字符填写表单。

我使用的是以下代码:

代码语言:javascript
复制
$name=trim($_POST['name']);
$name= mysql_real_escape_string($name);
if (preg_match('/^[\u0600-\u06FF]+$/',str_replace("\\\\","",$name))){$err.= "Please use Persian characters!";}

但是它不起作用!

以下是一个警告:

代码语言:javascript
复制
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

我能做什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-01-07 16:11:31

这应该行得通..。

**在开头添加^[以从匹配中排除阿拉伯语/波斯语字符...

代码语言:javascript
复制
if (preg_match('/^[^\x{600}-\x{6FF}]+$/u', str_replace("\\\\","",$name)))
票数 15
EN

Stack Overflow用户

发布于 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:

代码语言:javascript
复制
preg_match('/^[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ\s]+$/u', $input);

en、en-num和fa字符:

代码语言:javascript
复制
 preg_match('/^([a-zA-Z0-9 پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ])+$/u', $input);

您可以设置fa-يك或阿拉伯数字

票数 11
EN

Stack Overflow用户

发布于 2013-08-10 23:05:42

您应该使用以下命令:

代码语言:javascript
复制
if(preg_match("/^[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]/", $_POST['name']))
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4621727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档