PHP 正则匹配字符串URL地址与域名代码
匹配域名有以下的格式要求:
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 /* |
有个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}$/; |
代码如下 | 复制代码 |
<?php /** $A = 2; // 测试 // 输出 ?> |
最简单的验证手机号码
中国的手机都是以1开头的10位数字。
用到正则 ^1([0-9]{9})
代码如下 | 复制代码 |
<?php $mobile = '15858588585'; if(!preg_match('/^1([0-9]{9})/',$mobile)) exit('mobile phone error'); ?> |
^1首字符为1不解释
[0-9] 零到九的数字
{9} 重复10次,就是1加九位数字
上面就是不是手机号也可以通过难哦如19999999999 但这不是一个手机号啊
我们分析得到
移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
联通:130、131、132、152、155、156、185、186
电信:133、153、180、189、(1349卫通)
例2
代码如下 | 复制代码 |
function is_mobile($str){ |
查找html中有id属性的标签,说具体点就是尖括号<>中还有id=""的html标签。如:
字符串<div style="float:left" id="ab">123213</div><div class="a123">21314423</div>
不匹配<div class="a123">……</div>的内容
写这个例子可以用
代码如下 | 复制代码 |
<[a-zA-Z0-9][^>]+?id=[^>]+?>.*?</div> |
匹配
上一个php例子:
代码如下 | 复制代码 |
<?php $str = '<div style="float:left" id="ab">123213</div><div class="a123">213123</div>'; $search = '#<[a-zA-Z0-9][^>]+?id=[^>]+?>.*?</div>#is'; preg_match_all($search,$str,$r); echo '<pre>'; print_r($r); echo '</pre>'; ?> |
本例子输出
代码如下 | 复制代码 |
Array ) |
相关文章
- 这篇文章主要介绍了C#中截取字符串的的基本方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
- 这篇文章介绍了C#判断字符串是否数字或字母的实例,有需要的朋友可以参考一下...2020-06-25
- 这篇文章主要介绍了PostgreSQL判断字符串是否包含目标字符串的多种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-23
- 这篇文章主要介绍了C++ string常用截取字符串方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
- 有一个项目要获取页面中所有img标签中的图片地址,这里我们使用到了preg_match_all正则函数,然后看我下面的一些参数即可实现了。 例 代码如下 复制代码 ...2016-11-25
- 本文实例讲述了php字符串按照单词进行反转的方法。分享给大家供大家参考。具体分析如下:下面的php代码可以将字符串按照单词进行反转输出,实际上是现将字符串按照空格分隔到数组,然后对数组进行反转输出。...2015-03-15
- 这篇文章主要介绍了使用list stream:任意对象List拼接字符串操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-09
- 这篇文章主要介绍了MySQL 字符串拆分操作(含分隔符的字符串截取),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
- 这篇文章主要介绍了C# 16 进制字符串转 int的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2020-06-25
- JS中默认中文字符长度和其它字符长度计算方法是一样的,但某些情况下我们需要获取中文字符串的实际长度,代码如下: 复制代码 代码如下: function strLength(str) { var realLength = 0, len = str.length, charCode = -1;...2014-06-07
- 这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
- 文章介绍一个实用的函数,我们如果用php substr来截取字符在中文上处理的很有问题,今天自己写了一个比较好的中文与英文字符截取的函数,有需要的朋友可以参考下。 ...2016-11-25
- 这篇文章主要介绍了C#实现对字符串进行大小写切换的方法,涉及C#操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了PostgreSQL 字符串处理与日期处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-01
- 这篇文章主要介绍了c#将字节数组转成易读的字符串的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
- 这篇文章主要介绍了C#获取字符串后几位数的方法,实例分析了C#操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了C#判断一个字符串是否是数字或者含有某个数字的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了Substring截取字符串方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
- 在网站开发中,我们经常使用php similar text 计算两个字符串相似度;1,similar_text的用法 如果我想计算"ly89cn"和"ly89"的相似程度,有两种表示方法复制代码 代码如下: echo similar_text('ly89cn', 'ly89'); ...2015-11-08
- 这篇文章主要介绍了C#实现将字符串转换成日期格式的方法,涉及C#操作时间及字符串的相关技巧,非常简单实用,需要的朋友可以参考下...2020-06-25