20个常用的正则表达式?正则表达式在线生成器
各位老铁们,大家好,今天由我来为大家分享20个常用的正则表达式,以及正则表达式在线生成器的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
经常使用到的20个正则表达式小结
以下是在开发中经常使用到的20个正则表达式的小结:
校验密码强度:密码强度必须包含大小写字母和数字组合,不能使用特殊字符,长度在8-10之间。^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
校验中文字符串:仅能是中文。^[u4e00-u9fa5]{0,}$
由数字、26个英文字母或下划线组成的字符串:^w+$
校验E-Mail地址:[w!#$%&'*+/=?^_{|}~-]+(?:.[w!#$%&'*+/=?^_{|}~-]+)*@(?:[w](?:[w-]*[w])?.)+[w](?:[w-]*[w])?
校验身份证号码:15位或18位。15位:^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$18位:^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|X)$
校验日期:yyyy-mm-dd格式的日期校验,已考虑平闰年。^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$
校验金额:精确到2位小数。^[0-9]+(.[0-9]{2})?$
校验手机号:国内13、15、18开头的手机号正则表达式(可根据目前国内手机号扩展前两位开头号码)。^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])d{8}$
判断IE版本:IE版本检查的表达式。^.*MSIE [5-8](?:.[0-9]+)?(?!.*Trident/[5-9].0).*$
校验IPv4地址:b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)b
校验IPv6地址:(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))
检查URL前缀:应用开发中区分请求是HTTPS还是HTTP。if(!s.match(/^[a-zA-Z]+:///)){ s=' s;}
提取URL链接:筛选出一段文本中的URL。^(f|ht){1}(tp|tps)://([w-]+.)+[w-]+(/[w-./?%&=]*)?
文件路径及扩展名校验:验证Windows下文件路径和扩展名(如.txt文件)。^([a-zA-Z]:|)([^]+)*[^/:*?"<>|]+.txt(l)?$
提取Color Hex Codes:抽取网页中的颜色代码。^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
提取网页图片:提取网页中所有图片信息。<*[img][^>]*[src]*=*["']{0,1}([^"'>]*)
提取页面超链接:提取HTML中的超链接。(<as*(?!.*brel=)[^>]*)(href="https?://)((?!(?:(?:www.)?'.implode('|(?:www.)?',$follow_list).'))[^"]+)"((?!.*brel=)[^>]*)(?:[^>]*)>
查找CSS属性:搜索到相匹配的CSS属性。^s*[a-zA-Z-]+s*[:]{1}s[a-zA-Z0-9s.#]+[;]{1}
抽取注释:移除HTML中的注释。<!--(.*?)-->
匹配HTML标签:匹配HTML中的标签属性。</?w+((s+w+(s*=s*(?:".*?"|'.*?'|[^'">s]+))?)+s*|s*)/?>
这些正则表达式涵盖了常见的校验、提取和匹配需求,熟练掌握它们可以显著提升开发效率。
最全的常用正则表达式大全
备份留用,详见如下:
数字:
n位的数字:
至少n位的数字:
m-n位的数字:
零和非零开头的数字:
非零开头的最多带两位小数的数字:
带1-2位小数的正数或负数:
正数、负数、和小数:
有两位小数的正实数:
有1~3位小数的正实数:
非零的正整数:
非零的负整数:
非负整数:
非正整数:
非负浮点数:
非正浮点数:
正浮点数:
负浮点数:
浮点数:
汉字:
英文和数字:
长度为3-20的所有字符:
由26个英文字母组成的字符串:
由26个大写英文字母组成的字符串:
由26个小写英文字母组成的字符串:
由数字和26个英文字母组成的字符串:
由数字、26个英文字母或者下划线组成的字符串:
中文、英文、数字包括下划线:
中文、英文、数字但不包括下划线等符号:
可以输入含有^%&’,;=?$\”等字符:
禁止输入含有~的字符:
Email地址:
域名:
InternetURL:
手机号码:
电话号码(“XXX-XXXXXXX”、”XXXX-XXXXXXXX”、”XXX-XXXXXXX”、”XXX-XXXXXXXX”、”XXXXXXX”和”XXXXXXXX):
国内电话号码(0511-4405222、021-87888822):
身份证号(15位、18位数字):
短身份证号码(数字、字母x结尾):
帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):
密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):
强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):
日期格式:
一年的12个月(01~09和1~12):
一个月的31天(01~09和1~31):
钱的输入格式:
有四种钱的表示形式我们可以接受:”10000.00″和“10,000.00″,和没有“分”的“10000″和“10,000″:
这表示任意一个不以0开头的数字,但是,这也意味着一个字符”0″不通过,所以我们采用下面的形式:
一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:
这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分:
必须说明的是,小数点后面至少应该有1位数,所以”10.”是不通过的,但是“10″和“10.2″是通过的:
这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:
这样就允许用户只写一位小数。下面我们该考虑数字中的逗号了,我们可以这样:
1到3个数字,后面跟着任意个逗号+3个数字,逗号成为可选,而不是必须:
备注:这就是最终结果了,别忘了”+”可以用”*”替代。如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里
xml文件:
中文字符的正则表达式:
双字节字符(包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)):
空白行的正则表达式(可以用来删除空白行):
HTML标记的正则表达式(网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力):
首尾空白字符的正则表达式(可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式):
腾讯QQ号(腾讯QQ号从10000开始):
中国邮政编码(中国邮政编码为6位数字):
IP地址(提取IP地址时有用):
IP地址:
正则表达式注册用户名长度为6-20个字符什么意思
意思是在注册用户的时候要输入的用户名长度为6-20个字符,如果6-20个英文或6-20个汉字都可以,但是不要超过20个字符,每个注册用户的要求不同,有时候要求的用户名长度也会不同,名称要求也不同,例如名称需要数字、英文大小写组合等要求。
正则表达式:
能匹配的组合为:数字+字母,数字+特殊字符,字母+特殊字符,数字+字母+特殊字符组合,而且不能是纯数字,纯字母,纯特殊字符
^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$).{6,20}$
上面的正则里所说的特殊字符是除了数字,字母之外的所有字符
如果要限定特殊字符,例如,特殊字符的范围为!#$%^&*,那么可以这么改
^(?![\d]+$)(?![a-zA-Z]+$)(?![!#$%^&*]+$)[\da-zA-Z!#$%^&*]{6,20}$
扩展资料:
UTF-8使用1~4字节为每个字符编码:
一个US-ASCIl字符只需1字节编码(Unicode范围由U+0000~U+007F)。
带有变音符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、希伯来文、阿拉伯文、叙利亚文等字母则需要2字节编码(Unicode范围由U+0080~U+07FF)。
其他语言的字符(包括中日韩文字、东南亚文字、中东文字等)包含了大部分常用字,使用3字节编码。
其他极少使用的语言字符使用4字节编码。
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!