Ⅰ 求php 的正则表达式 大全
匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:\n\s*\r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /> 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为 匹配首尾空白字符的正则表达式:^\s*|\s*$ 评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 评注:表单验证时很实用 匹配网址URL的正则表达式:[a-zA-z]+://[^\s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 评注:表单验证时很实用 匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7} 评注:匹配形式如 0511-4405222 或 021-87888822 匹配腾讯QQ号:[1-9][0-9]{4,} 评注:腾讯QQ号从10000开始 匹配中国邮政编码:[1-9]\d{5}(?!\d) 评注:中国邮政编码为6位数字 匹配身份证:\d{15}|\d{18} 评注:中国的身份证为15位或18位 匹配ip地址:\d+\.\d+\.\d+\.\d+ 评注:提取ip地址时有用 匹配特定数字: ^[1-9]\d*$ //匹配正整数 ^-[1-9]\d*$ //匹配负整数 ^-?[1-9]\d*$ //匹配整数 ^[1-9]\d*|0$ //匹配非负整数(正整数 + 0) ^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0) ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数 ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非负浮点数(正浮点数 + 0) ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0) 评注:处理大量数据时有用,具体应用时注意修正 匹配特定字符串: ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串 ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串 ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串 ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串 ^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串 /http:\/\/(.*)\//i //匹配外部链接地址
满意请采纳
Ⅱ 超常用的PHP正则表达式收集整理
以下就是对超常用的PHP正则表达式进行的收集整理,为了方便大家更快更好的掌握php正则表达式。
:]*$!是对php中单引号的转义。或者还有更简单的!^/?[a-z0-9=:]*$!ii表示忽略大小写。模式分隔符就是为了区分表达式和像i这样的模式修饰符而设计的。
什么是正则表达式:简单的说,正则表达式是一种可以用于模式匹配和替换的强大工具。在几乎所有的基于UNIX/LINUX系统的软件工具中找到正则表达式的痕迹,例如:Perl或PHP脚本语言。
ThinkPHP的自动验证常用的正则一般我们见的比较多的是设置规则为require、email之类的,其实这些本身也是属于正则表达式验证方式,只是系统内置定义了一些常用的正则表达式而已。
关键地方是汉字的表示xa0-xff。下面是我写的例子程序,调试通过:?phpstr=汉字123456abcdef+-*/ABCDE!@#$%^&*()结尾。
Ⅲ php正则匹配数字
式子:/^[a-zA-Z0-9]+$/u
释义:
"/":表示正则表达式的定义,固定写法。
"^":表示开头。
"[]":表示字符组。匹配所包含的任意一个字符。如,“[ab]”匹配“plain”中的“a”。
"a-z":表示匹配小写字母a-z的字母范围。
"A-Z":表示匹配大写字母A-Z的字母范围。
"0-9":表示匹配0-9的数字范围。
"+":表示匹配次数大于等于1。
"$":匹配输入行尾。如果设置了RegExp对象Multiline属性,$也匹配“ ”或“ ”之前的位置。
"u":最后的u是模式修饰符,严格的说可能叫预定义常量。表示使用unicode进行匹配。
(3)php正整数正则表达式扩展阅读:
正则表达式的特点是:
1. 灵活性、逻辑性和功能性非常强;
2. 可以迅速地用极简单的方式达到字符串的复杂控制。
3. 对于刚接触的人来说,比较晦涩难懂。
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到着名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。
Ⅳ 请问 php 正则中的这些是什么编码呢
一:[\x81-\xfe]格式的正则:
$s=preg_replace('/^([\x81-\xfe][\x40-\xfe])*/','0',$neirong); 这里面的大多是日韩文字
二:x{4e00}格式的正则:
preg_match("/^[\x{4e00}-\x{9fa5}]{1,4}/u",$str); 这里面是匹配中文;
——————————————————————————
这些字符集尤其是日文字符集的各种字、标点以及特殊符号的时候有所帮助。
UTF8
[\x01-\x7f]|[\xc0-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}
UTF16
[\x00-\xd7][\xe0-\xff]|[\xd8-\xdf][\x00-\xff]{2}
JIS
[\x20-\x7e]|[\x21-\x5f]|[\x21-\x7e]{2}
SJIS
[\x20-\x7e]|[\xa1-\xdf]|([\x81-\x9f]|[\xe0-\xef])([\x40-\x7e]|[\x80-\xfc])
EUC_JP
[\x20-\x7e]|\x81[\xa1-\xdf]|[\xa1-\xfe][\xa1-\xfe]|\x8f[\xa1-\xfe]{2}
EUC_JP标点符号及特殊字符
[\xa1-\xa2][\xa0-\xfe]
EUC_JP全角数字
\xa3[\xb0-\xb9]
EUC_JP全角大写英文
\xa3[\xc1-\xda]
EUC_JP全角小写英文
\xa3[\xe1-\xfa]
EUC_JP全角平假名
\xa4[\xa1-\xf3]
EUC_JP全角片假名 [color=Red]2007-03-12 15:00更新[/color]
\xa3[\xb0-\xb9]|\xa3[\xc1-\xda]|\xa5[\xa1-\xf6][\xa3][\xb0-\xfa]|[\xa1][\xbc-\xbe]|[\xa1][\xdd]
EUC_JP全角汉字 [color=Red]2007-03-12 15:06更新[/color]
[\xb0-\xcf][\xa0-\xd3]|[\xd0-\xf4][\xa0-\xfe]|[\xB0-\xF3][\xA1-\xFE]|[\xF4][\xA1-\xA6]|[\xA4][\xA1-\xF3]|[\xA5][\xA1-\xF6]|[\xA1][\xBC-\xBE]
Big5
[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|[\xa1-\xfe])
GBK
[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]
GB2312汉字
[\xb0-\xf7][\xa0-\xfe]
GB2312半角标点符号及特殊符号
\xa1[\xa2-\xfe]
GB2312罗马数组及项目序号
\xa2([\xa1-\xaa]|[\xb1-\xbf]|[\xc0-\xdf]|[\xe0-\xe2]|[\xe5-\xee]|[\xf1-\xfc])
GB2312全角标点及全角字母
\xa3[\xa1-\xfe]
GB2312日文平假名
\xa4[\xa1-\xf3]
GB2312日文片假名
\xa5[\xa1-\xf6]
补充:
GB18030
[\x00-\x7f]|[\x81-\xfe][\x40-\xfe]|[\x81-\xfe][\x30-\x39][\x81-\xfe][\x30-\x39]
[color=Red]2007-03-12 21:35 补充[/color]
日文半角空格
\x20
SJIS全角空格
(?:\x81\x81)
SJIS全角数字
(?:\x82[\x4f-\x58])
SJIS全角大写英文
(?:\x82[\x60-\x79])
SJIS全角小写英文
(?:\x82[\x81-\x9a])
SJIS全角平假名
(?:\x82[\x9f-\xf1])
SJIS全角平假名扩展
(?:\x82[\x9f-\xf1]|\x81[\x4a\x4b\x54\x55])
SJIS全角片假名
(?:\x83[\x40-\x96])
SJIS全角片假名扩展
(?:\x83[\x40-\x96]|\x81[\x45\x5b\x52\x53])
EUC_JP全角空格
(?:\xa1\xa1)
EUC半角片假名
(?:\x8e[\xa6-\xdf])
——————————————————————————
下面是utf-8编码的例子:
$str = "汉字";
if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {
print("该字符串全部是中文");
} else {
print("该字符串不全部是中文");
}
下面的例子包含gbk,gb2312的例子:
<?php
$action = trim($_GET['action']);
if($action == "sub")
{
$str = $_POST['dir'];
//if(!preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)) //GB2312汉字字母数字下划线正则表达式
if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$str)) //UTF-8汉字字母数字下划线正则表达式
{
echo "<font color=red>您输入的[".$str."]含有违法字符</font>";
}
else
{
echo "<font color=green>您输入的[".$str."]完全合法,通过!</font>";
}
}
?>
Ⅳ 超常用的PHP正则表达式收集整理
以下就是对超常用的PHP正则表达式进行的收集整理,为了方便大家更快更好的掌握php正则表达式。
一、表单验证匹配
验证账号,字母开头,允许
5-16
字节,允许字母数字下划线:^[a-zA-Z][a-zA-Z0-9_]{4,15}$
验证账号,不能为空,不能有空格,只能是英文字母:^\S+[a-z
A-Z]$
验证账号,不能有空格,不能非数字:^\d+$
验证用户密码,以字母开头,长度在
6-18
之间:^[a-zA-Z]\w{5,17}$
验证是否含有
^%&',;=?$\
等字符:[^%&',;=?$\x22]+
匹配Email地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配腾讯QQ号:[1-9][0-9]{4,}
匹配日期,只能是
2004-10-22
格式:^\d{4}\-\d{1,2}-\d{1,2}$
匹配国内电话号码:^\d{3}-\d{8}|\d{4}-\d{7,8}$------------评注:匹配形式如010-12345678
或0571-12345678
或
0831-1234567
匹配中国邮政编码:^[1-9]\d{5}(?!\d)$
匹配身份证:\d{14}(\d{4}|(\d{3}[xX])|\d{1})------------评注:中国的身份证为15
位或18
位
不能为空且二十字节以上:^[\s|\S]{20,}$
二、字符匹配
匹配由
26
个英文字母组成的字符串:^[A-Za-z]+$
匹配由
26
个大写英文字母组成的字符串:^[A-Z]+$
匹配由
26
个小写英文字母组成的字符串:^[a-z]+$
匹配由数字和
26
个英文字母组成的字符串:^[A-Za-z0-9]+$
匹配由数字、26个英文字母或者下划线组成的字符串:^\w+$
匹配空行:\n[\s|
]*\r
匹配任何内容:[\s\S]*
匹配中文字符:[\x80-\xff]+
或者
[\xa1-\xff]+
只能输入汉字:^[\x80-\xff],{0,}$
匹配双字节字符(包括汉字在内):[^\x00-\xff]
三、匹配数字
只能输入数字:^[0-9]*$
只能输入n位的数字:^\d{n}$
只能输入至少n位数字:^\d{n,}$
只能输入m-n位的数字:^\d{m,n}$
匹配正整数:^[1-9]\d*$
匹配负整数:^-[1-9]\d*$
匹配整数:^-?[1-9]\d*$
匹配非负整数(正整数
+
0):^[1-9]\d*|0$
匹配非正整数(负整数
+
0):^-[1-9]\d*|0$
匹配正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
匹配负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
匹配浮点数:^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
匹配非负浮点数(正浮点数
+
0):^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
匹配非正浮点数(负浮点数
+
0):^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
四、其他
匹配HTML标记的正则表达式(无法匹配嵌套标签):<(\S*?)[^>]*>.*?</\1>|<.*?
/>
匹配网址
URL
:[a-zA-z]+://[^\s]*
匹配
IP
地址:((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)
匹配完整域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?
提示
上述正则表达式通常都加了
^
与
$
来限定字符的起始和结束,如果需要匹配的内容包括在字符串当中,可能需要考虑去掉
^
和
$
限定符。
以上正则表达式仅供参考,使用时请检验后再使用,希望通过这些超常用的PHP正则表达式
Ⅵ PHP从入门到精通—正则表达式—初识正则表达式、正则表达式语法规则、相关函数、常见应用、用法自查表
初识正则表达式
正则表达式,一种用于匹配和处理文本的字符串描述工具,广泛应用于Linux、Unix系统工具中,如Vi编辑器、Perl或PHP脚本语言以及Shell脚本等,展现出其强大的跨语言、跨系统应用能力。学习正则表达式,不仅能够简化文本处理任务,还能提高程序性能和代码效率。
正则表达式语法规则
行定位符(^和$)
通过行定位符(^和$),正则表达式支持定位功能,分别用于匹配字符串的开始和结束位置,精准控制字符在字符串中的定位。
单词定界符(\b和\B)
\b用于匹配单词边界,而\B匹配非单词边界,帮助识别文本中的单词分界,增强正则表达式的精确度。
字符类
通过方括号表达式([]),正则表达式实现对特定字符集的匹配,如忽略大小写的字符匹配,提升文本处理的灵活性。
选择字符(|)
|表示“或”操作,允许匹配多个选项之一,简化复杂匹配条件的表达。
连字符(-)
连字符简化表达式,匹配连续字符,如数字、字母等,提高匹配效率。
反义字符
使用^表示反义字符,匹配不在指定范围内的任意字符,优化文本匹配逻辑。
限定符
限定符指定匹配组件的重复次数,实现精确的文本匹配,提高正则表达式的应用范围。
点字符(.)
.匹配除换行符外的任意单个字符,用于灵活匹配文本中的字符。
转义字符
转义字符将特殊字符转换为普通字符,如\.匹配字符.,确保正则表达式中的特殊字符正常生效。
反斜线(\)
\在正则表达式中用于转义特殊字符,同时具有其他功能,如后接字母表示更多功能。
括号字符
括号用于改变优先级,组合小原子为大原子,整合匹配项,简化匹配逻辑。
反向引用
反向引用允许匹配连续出现的字符串或字母,通过表达式的“记忆”功能实现,提高匹配效率。
正则表达式相关函数
preg_match()函数
用于对指定字符串进行匹配,返回匹配结果或0(未匹配)。
preg_match_all()函数
全局匹配功能,从头到尾搜索匹配结果,直至获取所有相匹配的内容。
preg_replace()函数
实现字符串搜索和替换,功能强大,适用于复杂文本处理。
preg_split()函数
完成字符串的复杂分割操作,如同时分割多个字符。
preg_grep()函数
匹配数组中的元素,筛选出符合正则表达式模式的单元。
正则表达式常见应用
手机号码和邮箱验证
编写正则表达式匹配规范格式的手机号码和邮箱,确保数据输入的准确性。
验证网址URL合法性
构建正则表达式匹配合法的URL结构,确保网络资源的有效访问。
正则表达式用法自查表
总结正则表达式的用法,提供方便快捷的学习参考,帮助用户掌握正则表达式的书写规则。
总结:学习正则表达式能够有效提升文本处理效率,通过掌握其基本概念、语法规则以及常见应用,用户能够灵活运用正则表达式解决实际问题,提高程序开发和文本处理的能力。
Ⅶ PHP甯哥敤姝e垯琛ㄨ揪寮忔眹镐
1銆乗w灏辨槸鍖归厤瀛楁瘝鎴栨暟瀛楁垨涓嫔垝绾挎垨姹夊瓧锛+鍒欎笌*宸涓嶅氾纴鍖哄埆鏄+鍖呮嫭閲嶅0娆★纴钥*灏卞彲浠ャ=灏眜shi鍖归厤=鍙蜂袱涓鏂沧潬鍒栾〃绀烘e垯琛ㄨ揪寮忕殑鍒嗙晫銆
2銆佹e垯琛ㄨ揪寮忕殑闄愬畾绗︽湁锛歍hinkPHP镄勮嚜锷ㄩ獙璇佹満鍒舵槸涓轰简杩涜岃〃鍗曟暟鎹楠岃瘉锛岄獙璇佸彲浠ユ敮鎸乫unction銆乧allback銆乧onfirm銆乪qual銆乽nique鍜宺egex锛岃繖閲岃佽茬殑鏄浣跨敤姝e垯琛ㄨ揪寮忚繘琛岄獙璇併傜壒娈婂瓧绗﹁稿氩厓瀛楃﹁佹眰鍦ㄨ瘯锲惧尮閰嶅畠浠镞剁壒鍒瀵瑰緟銆
3銆乛/锛焄a-zA-Z0-9=锛歖*$锛乗鏄瀵筽hp涓鍗曞紩鍙风殑杞涔夈傛垨钥呰缮链夋洿绠鍗旷殑锛乛/锛焄a-z0-9=锛歖*$锛乮i琛ㄧず蹇界暐澶у皬鍐欍傛ā寮忓垎闅旂﹀氨鏄涓轰简鍖哄垎琛ㄨ揪寮忓拰镀廼杩欐牱镄勬ā寮忎慨楗扮﹁岃捐$殑銆
Ⅷ 求php正则表达式 要求匹配 纯英文字符串#纯数字(位数不限), 谢谢
正则为:/^[a-z0-9#]*$/
检测代码如下:
$str='####1414adsad';
if(preg_match("/^[a-z0-9#]*$/",$str))
{
echo"验证成功";
}
else
{
echo"验证失败";
}
3. 可以改变$str的值来检测,该正则是否正确
Ⅸ php中正则表达式的/^[1-9][0-9]*$/是什么意思呢
第一位只能匹配1-9的九个数字,从第二位开始只能匹配数字,总的来说就是匹配所有正整数