非常有用的正则表达式:

发布时间:2025-10-23 点击:6
正则表达式——古老而又强大的文本处理工具。仅用一段简短的表达式语句,就能快速地实现一个复杂的业务逻辑。掌握正则表达式,让你的开发效率有一个质的飞跃。
正则表达式经常被用于字段或任意字符串的校验,比如下面这段校验基本日期格式的javascript代码:
var reg = /^(\\\\d{1,4})(-|\\\\/)(\\\\d{1,2})\\\\2(\\\\d{1,2})$/;
var r = fieldvalue.match(reg);
if(r==null)alert(\\\’date format error!\\\’);
1、校验密码强度
密码的强度必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间
^(?=.*\\\\d)(?=.*[a-z])(?=.*[a-z]).{8,10}$
2、校验中文
字符串只能是中文
^[\\\\u4e00-\\\\u9fa5]{0,}$
3、由数字,26个英文字母或下划线组成的字符串
^\\\\w $
4、校验e-mail 地址
[\\\\w!#$%&\\\’* /=?^_`{|}~-] (?:\\\\.[\\\\w!#$%&\\\’* /=?^_`{|}~-] )*@(?:[\\\\w](?:[\\\\w-]*[\\\\w])?\\\\.) [\\\\w](?:[\\\\w-]*[\\\\w])?
5、校验身份证号码
15位:
^[1-9]\\\\d{7}((0\\\\d)|(1[0-2]))(([0|1|2]\\\\d)|3[0-1])\\\\d{3}$
18位:
^[1-9]\\\\d{5}[1-9]\\\\d{3}((0\\\\d)|(1[0-2]))(([0|1|2]\\\\d)|3[0-1])\\\\d{3}([0-9]|x)$
6、校验日期
“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)$
7、校验金额
金额校验,精确到2位小数
^[0-9] (.[0-9]{2})?$
8、校验手机号
下面是国内 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}$
9、判断ie的版本
^.*msie [5-8](?:\\\\.[0-9] )?(?!.*trident\\\\/[5-9]\\\\.0).*$
10、校验ip-v4地址
\\\\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
11、校验ip-v6地址
(([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]))
12、检查url的前缀
if (!s.match(/^[a-za-z] :\\\\/\\\\//)){
s = \\\’http://\\\’ s;}
13、提取url链接
^(f|ht){1}(tp|tps):\\\\/\\\\/([\\\\w-] \\\\.) [\\\\w-] (\\\\/[\\\\w- ./?%&=]*)?
14、文件路径及扩展名校验
^([a-za-z]\\\\:|\\\\\\\\)\\\\\\\\([^\\\\\\\\] \\\\\\\\)*[^\\\\/:*?"<>|] \\\\.txt(l)?$
15、提取color hex codes
^#([a-fa-f0-9]{6}|[a-fa-f0-9]{3})$
16、提取网页图片
\\\\< *[img][^\\\\\\\\>]*[src] *= *[\\\\"\\\\\\\’]{0,1}([^\\\\"\\\\\\\’\\\\ >]*)
17、提取页面超链接
(<a\\\\s*(?!.*\\\\brel=)[^>]*)(href="https?:\\\\/\\\\/)((?!(?:(?:www\\\\.)?\\\’.implode(\\\’|(?:www\\\\.)?\\\’, $follow_list).\\\’))[^"] )"((?!.*\\\\brel=)[^>]*)(?:[^>]*)>
18、查找css属性
^\\\\s*[a-za-z\\\\-] \\\\s*[:]{1}\\\\s[a-za-z0-9\\\\s.#] [;]{1}
19、抽取注释
<!–(.*?)–>
20、匹配html标签
<\\\\/?\\\\w ((\\\\s \\\\w (\\\\s*=\\\\s*(?:".*?"|\\\’.*?\\\’|[\\\\^\\\’">\\\\s] ))?) \\\\s*|\\\\s*)\\\\/?>
一、校验数字的表达式
1 数字:^[0-9]*$
2 n位的数字:^d{n}$
3 至少n位的数字:^d{n,}$
4 m-n位的数字:^d{m,n}$
5 零和非零开头的数字:^(0|[1-9][0-9]*)$
6 非零开头的最多带两位小数的数字:^([1-9][0-9]*) (.[0-9]{1,2})?$
7 带1-2位小数的正数或负数:^(-)?d (.d{1,2})?$
8 正数、负数、和小数:^(-| )?d (.d )?$
9 有两位小数的正实数:^[0-9] (.[0-9]{2})?$
10 有1~3位小数的正实数:^[0-9] (.[0-9]{1,3})?$
11 非零的正整数:^[1-9]d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^ ?[1-9][0-9]*$
12 非零的负整数:^-[1-9][]0-9"*$ 或 ^-[1-9]d*$
13 非负整数:^d $ 或 ^[1-9]d*|0$
14 非正整数:^-[1-9]d*|0$ 或 ^((-d )|(0 ))$
15 非负浮点数:^d (.d )?$ 或 ^[1-9]d*.d*|0.d*[1-9]d*|0?.0 |0$
16 非正浮点数:^((-d (.d )?)|(0 (.0 )?))$ 或 ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0 |0$
17 正浮点数:^[1-9]d*.d*|0.d*[1-9]d*$ 或 ^(([0-9] .[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9] )|([0-9]*[1-9][0-9]*))$
18 负浮点数:^-([1-9]

银河麒麟高级服务器操作系统 V10 SP3发布 面向云化全面突破
云服务器百度云
优化seo是什么职业?seo工作简述
数据库迁移方案
抢注老域名真的有用么?怎么抢注老域名?
云服务器yum怎么卸载
阿里云虚拟服务器如何备案
阿里云服务器能备案几个域名