PHP 正则表达式验证中文的问题

时间:2024-04-10 10:56:56 

$str = '中华人民共和国123456789abcdefg';
echo preg_match("/^[\u4e00-\u9fa5_a-zA-Z0-9]{3,15}$",$strName);

运行一下上面这段代码,看会有什么提示信息?
Warning: preg_match(): Compilation failed: PCRE does not support \L, \l, \N, \P, \p, \U, \u, or \X at offset 3 in F:\wwwroot\php\test.php on line 2

原来,PHP正则表达式中不支持下列 Perl 转义序列:\L, \l, \N, \P, \p, \U, \u, or \X

在 UTF-8 模式下,允许用“\x{...}”,花括号中的内容是表示十六进制数字的字符串。原来的十六进制转义序列 \xhh 如果其值大于 127 的话则匹配了一个双字节 UTF-8 字符。
所以,可以这样来解决preg_match("/^[\x80-\xff_a-zA-Z0-9]{3,15}$",$strName);


<?php
$shouji ="哈哈哈哈";
if (!preg_match("/^[\x80-\xff]{6,30}$/",$shouji)){
    echo "nonono";    
}
else {
    echo "yesyesyes";
}
?>
标签:PHP,正则,验证中文
0
投稿

猜你喜欢

  • Python autoescape标签用法解析

    2023-03-14 06:36:22
  • golang中实现graphql请求的方法

    2024-02-19 16:21:18
  • Python中关于列表的常规操作范例以及介绍

    2023-02-20 12:44:44
  • 使用IDEA回滚某次提交的代码步骤

    2023-06-21 03:15:28
  • 如何更改Pycharm配置文件的存放路径

    2023-12-29 03:11:06
  • pytho多张图片的无损拼接的实现示例

    2021-10-09 08:25:18
  • Django自定义用户认证示例详解

    2022-02-03 01:31:18
  • ubuntu 18.04搭建python环境(pycharm+anaconda)

    2023-09-23 20:01:56
  • 一种简单的ID生成策略: Mysql表生成全局唯一ID的实现

    2024-01-25 09:55:41
  • python训练数据时打乱训练数据与标签的两种方法小结

    2021-11-17 11:15:12
  • 利用Python的turtle库绘制玫瑰教程

    2021-12-01 19:33:52
  • 面向新手解析python Beautiful Soup基本用法

    2023-11-06 22:29:50
  • MySQL 随机函数获取数据速度和效率分析

    2024-01-13 00:43:01
  • 如何利用Python识别图片中的文字

    2022-04-05 03:15:42
  • python类的方法属性与方法属性的动态绑定代码详解

    2023-07-02 03:31:26
  • 关于Javascript的内存泄漏问题

    2008-04-15 07:46:00
  • python元组简单介绍

    2023-07-31 18:06:12
  • MySQL学习之基础操作总结

    2024-01-12 14:42:34
  • spark编程python实例解读

    2023-06-02 06:12:52
  • 利用Python绘制一个可爱的米老鼠

    2022-01-29 14:34:30
  • asp之家 网络编程 m.aspxhome.com