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

$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";
}
?>

时间: 2024-11-03 07:56:38

PHP 正则表达式验证中文的问题_正则表达式的相关文章

JavaScript正则表达式验证中文实例讲解_正则表达式

JavaScript经常会验证中文,这里提供两个例子: Javascript代码: 复制代码 代码如下: /** *A simple example */ function ischinese(temp){ var re = /[^u4e00-u9fa5]/; if(re.test(temp)) return false; return true; } <p>/** *校验字符串是否为中文 *返回值: *如果为空,定义校验通过, 返回true *如果字串为中文,校验通过, 返回true *如果

c# 验证中文 数字 整数的正则表达式

c# 验证中文 数字 整数的正则表达式 整数 regex.ismatch(inputerstr, "^([0-9]{1,})$") 数字 regex.ismatch(inputerstr, "^([0-9]{1,}[.][0-9]*)$") 英文字母 bool bb = regex.ismatch("/sdfsdf/", @"^/[a-z]*/$"); 看一款支持中文正则 string[] sentences =   {   

JS验证URL函数 正则_正则表达式

这个url的正则表达式判断的JavaScript!比较全面的.它验证的情况包括IP,域名(domain),ftp,二级域名,域名中的文件,域名加上端口!用户名等等信息,貌似作者也是在网上找的,我从一个项目代码中扣出来的,是我见过的最强最全面的url验证方式!太猛了,贴在这里与大家分享,URL的验证实在是很频繁. function IsURL (str_url) { var strRegex = '^((https|http|ftp|rtsp|mms)?://)' + '?(([0-9a-z_!~

jQuery验证手机号邮箱身份证的正则表达式(含港澳台)_正则表达式

自己对正则验证也没系统用过,这次自己做个demo,一下子把这些全都用上了,下次有需要直接来拿了. 以下代码是在页面使用JQuery进行验证的,也有在后台进行验证的,可以试试,都一样的原理. 直接上代码:注意:(有些验证规则当然不仅仅是本文的,也许还有其他更好的,可以留言交流) 手机号:(移动-电信-联通) var tel = $("#PhoneNumber").val();//获取输入的手机号 var yidongreg = /^(134[012345678]\d{7}|1[34578

JavaScript正则表达式验证中文实例讲解

JavaScript经常会验证中文,这里提供两个例子: Javascript代码: 复制代码 代码如下: /** *A simple example */ function ischinese(temp){ var re = /[^u4e00-u9fa5]/; if(re.test(temp)) return false; return true; } <p>/** *校验字符串是否为中文 *返回值: *如果为空,定义校验通过, 返回true *如果字串为中文,校验通过, 返回true *如果

正则表达式基本语法详解_正则表达式

正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符").模式描述在搜索文本时要匹配的一个或多个字符串. 1.正则表达式基本语法 两个特殊的符号'^'和'$'.他们的作用是分别指出一个字符串的开始和结束.例子如下: "^The":表示所有以"The"开始的字符串("There","The cat"等): "of despair$":表示所以以&q

JS正则表达式基本用法(经典全)_正则表达式

//校验是否全由数字组成  funtin isigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.x(s)) rturn fals rturn tru }  JavaSript表单验证mail,判断一个输入量是否为邮箱mail,通过正则表达式实现. //检查mail邮箱  funtin ismail(str){        var rg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,

正则表达式基础教程与说明_正则表达式

前言 正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感.只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题. 索引 1. 引子 目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子. 正则表达式的使用,可以通过简单的办法来实现强大的功能.为了简单有效而又不失强大,造成了正则表达式代码的难度较大,

js正则表达式之replace函数用法_正则表达式

正则表达式replace()函数: 此函数用指定的字符串替换字符串中与正则表达式匹配的子字符串. 返回值是一个替换后的新字符串. 这里只介绍正则表达式的相关操作,其他替换操作可以参阅javascript的String对象的replace()方法一文. 语法结构: stringObject.replace(regexp,replacement) 参数列表如下: 参数名称 语义解释 regexp 必需.RegExp对象. replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数