PHP正则匹配指定长度字符必须有数字、字母、下划线
任意的字符6到16位是.{6,16}
只有 数字、字母、下划线组成 就是[0-9_a-zA-Z]
总的加在一起就椒 ^[_0-9a-z]{6,16}$
代码如下 | 复制代码 |
<?php
echo '<br>'; |
例2
代码如下 | 复制代码 |
|
后面要有一串的字符串
一般我用[^…………]这样来否定,当然也别的写法
既然是否定“x”、“y”、“z”
就是[^xyz]
整个写来就是
^abc[^xyz]*$
PHP测试:
代码如下 | 复制代码 |
<?php if(preg_match($search,$str)) {
?> |
[a-zA-Zxa0-xff_]小写大写英文,或者中文,或者下划线开头
[0-9a-zA-Zxa0-xff_]后面的内容可以是小写大写中文数字下划线
[0-9a-zA-Zxa0-xff_]{3,15}后面的内容重复3-15次
所以整个正则表达式为[a-zA-Zxa0-xff_][0-9a-zA-Zxa0-xff_]{3,15}
也可以加上开头结尾锚记^[a-zA-Zxa0-xff_][0-9a-zA-Zxa0-xff_]{3,15}$
代码如下 | 复制代码 |
<?php $username = 'abcde123';
|
如果你是普通的用户我我们就不需要上面的实例了,由字母a~z(不区分大小写)、数字0~9、减号或下划线组成
只能以数字或字母开头和结尾 用户名长度为4~18个字符
代码如下 | 复制代码 |
^[a-za-z0-9]{1}[a-za-z0-9|-|_]{2-16}[a-za-z0-9]{1}$ |
用户名为大写字母小写字母或下划线,并以字母开头,长度为6-20
代码如下 | 复制代码 |
^[a-za-z][wd_]{5,19} |
有个php正则表达式邮箱问题
代码如下 | 复制代码 |
$a='/([w._]{2,10})@(w{1,}).([a-z]{2,4})/'; if(preg_match($a,$b)){ |
为何上面的输出为合法???{2,10}这里不是只能放2到10位数字吗 这里已经超出了10位了
这个正则是能匹配的,匹配到这样这部分 '545454545k@qq.com'
前面部分的1412424545645454不匹配,所以还是合法的。
你想要匹配一整段正确可以改成这样
代码如下 | 复制代码 |
$a='/^([w._]{2,10})@(w{1,}).([a-z]{2,4})$/'; |
要注意你的正则
代码如下 | 复制代码 |
/([w._]{2,10})@(w{1,}).([a-z]{2,4})/ |
他没有断言,意味着只要字符串中有符合的部分就匹配
因此{2,10}是只能2到10位匹配,但不针对整个字符串只要有一部分符合就匹配了。
你要判断一整段字符串是否都匹配就要用断言。如^ $
代码如下 | 复制代码 |
/^([w._]{2,10})@(w{1,}).([a-z]{2,4})$/ |
注意头和尾加上了^ $
代码如下 | 复制代码 |
$a='/^([w._]{2,10})@(w{1,}).([a-z]{2,4})$/'; $b='1412424545645454545454545k@qq.com'; if(preg_match($a,$b)){ echo "电子邮件合法"; }else{ echo "电子邮件不合法啊"; } |
好了下面我来进行更完善写法
PHP 邮箱验证正则表达式 新手实例:
代码如下 | 复制代码 |
<?php Javascript(js) 邮箱验证正则表达式: myreg = /^([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,4}$/; |
匹配域名有以下的格式要求:
1、域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写字母。标号中除连字符(-)外不能使用其他的标点符号。
2、各级域名之间用实点(.)连接,三级域名的长度不能超过20个字符。
3、由多个标号组成的完整域名总共不超过255个字符。
所以匹配域名的正则要
1、由英文数字 和 “_”组成 [-a-z0-9]
2、每级要以“.”连接
3、三级不能域名长度不超过20 {1,20}
测试如下格式:
代码如下 | 复制代码 |
<?php $url = 'www.111cn.net'; $search = '/---正则N---/'; if(preg_match($search,$url)){ echo '匹配'; }else { echo '不匹配'; } ?> |
先从网上总结的几个常见的
正则1
b([a-z0-9]+(-[a-z0-9]+)*.)+[a-z]{2,}b
错误匹配:长度>60
正则2
代码如下 | 复制代码 |
^(([^-][a-z0-9A-Z-_]+.)*)[^-][a-z0-9A-Z-_]+(.[a-zA-Z]{2,4}){1,2}$ |
错误匹配:长度>60
错误匹配:www.te_st.com
正则3
代码如下 | 复制代码 |
(([wd-_]+.):?[^-_])+w{2,4} |
不匹配:www.111cn.net.cn
错误匹配:www.te_st.com
正则4
代码如下 | 复制代码 |
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.? |
暂无错误
正则5
代码如下 | 复制代码 |
(?<=.)([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?.)+[a-zA-Z]{2,6} |
不匹配二级域名
正则6
代码如下 | 复制代码 |
([a-z0-9][a-z0-9-]*?.(?:com|cn|net|org|gov|info|la|cc|co)(?:.(?:cn|jp))?)$ |
很多顶级域名不匹配
例
代码如下 | 复制代码 |
<?php /* |
相关文章
- 有一个项目要获取页面中所有img标签中的图片地址,这里我们使用到了preg_match_all正则函数,然后看我下面的一些参数即可实现了。 例 代码如下 复制代码 ...2016-11-25
- 这篇文章主要给大家介绍了一个关于JS正则匹配的踩坑记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
- 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配,因为我想学完之后写个语法高亮练手,所以用js代码当作例子...2021-05-07
- 最近在开发一个项目,其中有需求要求我们把一段html转换为一般文本返回,使用正则表达式是明智的选择,下面小编给介绍下C#使用正则表达式过滤html标签,需要的朋友参考下...2020-06-25
- 在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 Nginx 的规范,下面这篇文章主要给大家介绍了关于OpenResty中正则模式匹配的2种方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。...2020-06-30
- 昨天在《js 正则学习小记之匹配字符串字面量》谈到 /"(?:\\.|[^"])*"/ 是个不错的表达式,因为可以满足我们的要求,所以这个表达式可用,但不一定是最好的...2021-05-07
- 这篇文章主要介绍了JS基于正则截取替换特定字符之间字符串操作方法,结合具体实例形式分析了JS基于正则实现针对特殊字符、数字等字符串类型的截取操作相关技巧,需要的朋友可以参考下...2017-02-08
- 这篇文章主要介绍JS正则RegExp对象,正则表达式是描述字符模式的对象,用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。下面就来看具体详情,需要的朋友可以参考一下...2021-10-21
- 下面小编就为大家分享一篇c#实现获取字符串阵列中元素最长或最短的长度方法,具有很好的参考价值,希望对大家有所帮助...2020-06-25
- 这篇文章主要为大家详细介绍了WPF TextBox实现按字节长度限制输入功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
- 其实我很少用这个,所以之前一直没注意这个问题,自从落叶那厮写了个变态的测试我才去看了下这东西...2021-05-07
- 替换指定字符的方法有很多,在本文为大家详细介绍下,JS利用正则配合replace是如何做到的,喜欢的朋友可以参考下...2021-05-07
- php教程正则中文表达式 $str = "abc一二三cde"; echo preg_replace('/[^x4e00-x9fa5]/i'," ",$str); $str = "php编程"; if (preg_match("/^[x4e00-x9fa5]+$/u",$s...2016-11-25
- 匹配email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 匹配网址url的正则表达式:[a-za-z]+://[^s]* 下面看一实例 <body onload="f.a.select();"> <?php...2016-11-25
- 这篇文章主要介绍了Spring-AOP 静态正则表达式方法如何匹配切面的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-19
- 在php中判断是否为纯字母我们可直接使用正则/^[a-zA-Z]$/来验证了,包括大小写字母哦,有需要了解的同学可参考参考。 上代码 代码如下 复制代码 ...2016-11-25
- 这篇文章主要介绍了C#正则检测字符串是否字母数字混编的方法,涉及C#正则判定字符串的使用技巧,需要的朋友可以参考下...2020-06-25
- 本篇实例主要是讲到关于如何使用php中正则表达试来获取我们想要的东西,上面的实例就是要把文章内容字符串的链接地址与图片地址全部取出来,所有我们要正则就方便多了...2016-11-25
- PHP初学中很多同学搞不清字符串长度的截取用法。小编分享了一篇写得很详细的关于字符串长度截取用法的文章,希望能解答大家的疑问。 本文实例讲述了PHP中字符串长...2017-01-22
- 下面提供二款关于php正则链接方法,他们可以-取得内容所有链接并且保存到一个数组,当然也可以把链接全部替换哦。 方法一 代码如下 ...2016-11-25