1. 云栖社区>
  2. PHP教程>
  3. 正文

php JS正则表达式匹配中文字符UTF-8

作者:用户 来源:互联网 时间:2017-12-01 18:33:04

中文表达式

php JS正则表达式匹配中文字符UTF-8 - 摘要: 本文讲的是php JS正则表达式匹配中文字符UTF-8, php JS正则表达式匹配中文字符UTF-8,有需要的朋友可以参考下。 php JS正则表达式匹配中文字符UTF-8一次不完整的尝试 本人今天一直想实现正则表达式匹配中文字符。无奈之前没得到大神的指导,一直以为JS和php匹配中文字符的正

php JS正则表达式匹配中文字符UTF-8,有需要的朋友可以参考下。


php JS正则表达式匹配中文字符UTF-8

一次不完整的尝试

本人今天一直想实现正则表达式匹配中文字符。无奈之前没得到大神的指导,一直以为JS和php匹配中文字符的正则表达式是一样的写法。
结果到后来一询问才发现自己大错特错。

JS写法

下面先说JS的写法吧:

<script>    <script>var str="ftgfg风缘择敏hjkhj";var reg=/[/u4e00-/u9fa5]+/;if(reg.exec(str)){alert('有中文');}else{alert('没有中文');}   </script>

这段代码会弹窗输出为有中文

注意

若正则表达式为这样/^···$/(省略号内为内容),说明是完全匹配,不容许有不属于中文字符的存在。
若正则表达式为这样/^···/,说明是匹配前面,也就是说字符串前面不能有其他不属于中文的字符,不然就会匹配失败。
若正则表达式为这样/···$/,说明是匹配后面,也就是说字符串后面不能有其他不属于中文的字符,不然就会匹配失败。
若正则表达式为这样/···/,说明是不完全匹配,字符串中间只要出现了中文的字符,就匹配成功了。

php写法

下面是php的写法:
当然是在UTF-8的编码条件下

header("Content-type:text/html; charset=utf-8");$str = "fhsjafh风缘择敏jkjk";if(preg_match("/[/x{4e00}-/x{9fa5}]+/u", $str, $nameid)){    echo $nameid[0];}else{    echo "里面不含中文";}

以上代码输出为风缘择敏

注意

若字符串为$str = "fhsjafh风缘择敏jkjk敏择缘风ertry";的话,代码只会输出风缘择敏,而后面那个字符串不会输出,这个具体怎么实现本人还不知道,所以说这是一次不完整的尝试。
倘若有读者知道也可以评论告诉我。我将它完善。

——风缘择敏

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索中文 表达式 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备