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