美文网首页
正则教程

正则教程

作者: ZETROE | 来源:发表于2018-12-05 10:30 被阅读0次

特殊元字符

\d 0~9任意一个数字

\D 非0~9之间的任意字符

\w 字母、数字或下划线 [a-zA-Z0-9_]

\W 非......

\s 匹配任意一个空白字符 (包括制表符)

\b 匹配边界符 "hello-world"

\n 匹配一个换行符

\ 转义字符 . 只表示一个小数点

. 表示除了\n之外的任意字符

^ 以某个字符开头

$ 以某个字符结尾

a|b a或者b任意一个

[158] [abc] a或b或c任意一个

[^abc] 除了a\b\c之外的

[a-z] 表示a到z中任意一个字母 [0-9]等价于\d

[^a-z]

() 分组

(?:) 当前分组只匹配不捕获

(?=) 正向预查

(?!) 反向预查

量词元字符

出现零到多次 等价于 {0,}

? 出现零到一次 等价于 {0,1}

  • 出现一次到多次 等价于 {1,}

{m} 出现m次

{m,} 出现至少m次

{m,n} 出现m~n次

普通元字符

修饰符 斜杠后面的号

i ignoreCase 忽略大小写

g global 全局匹配

m multiline 多行匹配

举个栗子


<script>

        var btn = document.getElementById("btn");

        var txt = document.getElementById("txt");

        btn.onclick = function() {

            var val = txt.value;

            //alert(val);

            // 要求文本框输入字母x

            var reg = /x/;

            // 必须是一个符号并且是x

            var reg = /^x$/;

            // 以m开头 至少2个n 最多5个n

            var reg = /^mn{2,5}$/

            // 6个5

            var reg = /^5{6}$/;

            // 邮编

            var reg = /^[0-9]{6}$/;

            // 判断用户名 字母 数字 下划线 长度范围6~16

            var reg = /^\w{6,16}$/;

            //  // 判断用户名 字母 数字 下划线 不能以数字开头 长度范围6~16

            var reg = /^[a-zA-Z_]\w{5,15}$/;

            // 至少6位密码

            var reg = /^.{6,}$/

            // 要求输入网址必须是 www.sina.com

            var reg = /^www\.sina\.com$/;

            // 要求输入 8+9

            var reg = /^8\+9$/;

            // 手机号码 以13开头或以15开头

            var reg = /^1[35]\d{9}$/;

            var reg = /^1(3|5)\d{9}$/;

            var reg = /^(13|15)\d{9}$/;

            var reg = /^[\u4e00-\u9fa5]+$/;

            // 18-65

            /*

                18 19

                20-59

                60-65

            */

            var reg = /^((1[89])|([2-5][0-9])|(6[0-5]))$/;

            alert(reg.test(val));

        }

    </script>

常用正则

  • 匹配中文字符的正则表达式: [\u4e00-\u9fa5]

  • 匹配双字节字符(包括汉字在内):[^\x00-\xff]

  • 匹配空行的正则表达式:\n[\s| ]*\r

  • 匹配HTML标记的正则表达式:/<(.)>.</\1>|<(.*) />/

  • 匹配首尾空格的正则表达式:(^\s)|(\s$)

  • 匹配IP地址的正则表达式:/(\d+).(\d+).(\d+).(\d+)/g //

  • 匹配Email地址的正则表达式:\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*

  • 匹配网址URL的正则表达式:http://(/[\w-]+.)+[\w-]+(/[\w- ./?%&=]*)?

  • 匹配非负整数:^\d+$

  • 匹配正整数:^[0-9][1-9][0-9]$

  • 匹配非正整数:^((-\d+)|(0+))$

  • 匹配负整数:^-[0-9][1-9][0-9]$

  • 匹配整数:^-?\d+$

  • 匹配非负浮点数:^\d+(.\d+)?$

  • 匹配正浮点数:^((0-9)+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9]))$

  • 匹配非正浮点数:^((-\d+.\d+)?)|(0+(.0+)?))$

  • 匹配负浮点数:^(-((正浮点数正则式)))$

  • 匹配英文字符串:^[A-Za-z]+$

  • 匹配英文大写串:^[A-Z]+$

  • 匹配英文小写串:^[a-z]+$

  • 匹配英文字符数字串:^[A-Za-z0-9]+$

  • 匹配英数字加下划线串:^\w+$

  • 匹配E-mail地址:^[\w-]+(.[\w-]+)*@[\w-]+(.[\w-]+)+$

  • 匹配URL:^[a-zA-Z]+://(\w+(-\w+))(.(\w+(-\w+)))(?\s)?$

  • 或:http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([<>""])*$

  • 匹配邮政编码:^[1-9]\d{5}$

  • 匹配中文:^[\u0391-\uFFE5]+$

  • 匹配电话号码:^((\d2,3)|(\d{3}-))?(0\d2,3|0\d{2,3}-)?[1-9]\d{6,7}(-\d{1,4})?$

  • 匹配手机号码:^((\d2,3)|(\d{3}-))?13\d{9}$

  • 匹配双字节字符(包括汉字在内):^\x00-\xff

  • 匹配匹配首尾空格:(^\s)|(\s$)(像vbscript那样的trim函数)

  • 匹配匹配HTML标记:<(.)>.</\1>|<(.*) />

  • 匹配匹配空行:\n[\s| ]*\r

  • 匹配提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\|/|.)+('|"| *|>)?

  • 匹配提取信息中的邮件地址:\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*

  • 匹配提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\|/|.)+('|"| *|>)?

  • 匹配提取信息中的IP地址:(\d+).(\d+).(\d+).(\d+)

  • 匹配提取信息中的中国手机号码:(86)013\d{9}

  • 匹配提取信息中的中国固定电话号码:(\d3,4|\d{3,4}-|\s)?\d{8}

  • 匹配提取信息中的中国电话号码(包括移动和固定电话):(\d3,4|\d{3,4}-|\s)?\d{7,14}

  • 匹配提取信息中的中国邮政编码:[1-9]{1}(\d+){5}

  • 匹配提取信息中的浮点数(即小数):(-?\d*).?\d+

  • 匹配提取信息中的任何数字 :(-?\d*)(.\d+)?

  • 匹配IP:(\d+).(\d+).(\d+).(\d+)

  • 匹配电话区号:/^0\d{2,3}$/

  • 匹配腾讯QQ号:^[1-9][1-9][0-9]$

  • 匹配帐号(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

  • 匹配中文、英文、数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$

相关文章

  • jQuery源码学习笔记(2)

    正则篇 一、参考资料来源: 正则工具:https://www.debuggex.com/ 正则教程:http://...

  • 网上收集的一些简易的程

    正则表达式: 正则表达式30分钟入门教程 设计模式: 简易的图文UML和设计模式教程

  • 正则表达式

    正则表达式 - 教程正则表达式 - 简介正则表达式 - 语法正则表达式 - 元字符正则表达式 - 运算符优先级正则...

  • 正则表达式

    菜鸟教程正则表达式教程RE2正则表达式(golang执行的是RE2标准的正则表达式)go语言中单行模式的用法可以查...

  • 正在表达式的知识介绍

    正则表达式的入门教程

  • 正则表达式

    这里推荐一个讲解比较浅显易懂的文章:正则表达式30分钟入门教程正则表达式教程 正则表达式(Regular Expr...

  • 正则表达式

    正则表达式视频正则表达式30分钟入门教程常用正则表达式大全

  • 正则表达式学习链接

    正则表达式学习链接OC 正则表达式30分钟入门教程

  • 正则教程

    特殊元字符 \d 0~9任意一个数字 \D 非0~9之间的任意字符 \w 字母、数字或下划线 [a-zA-Z0-9...

  • 正则表达式

    javascript正则表达式正则表达式30分钟入门教程js的正则表达式的正则前瞻(?=)和非捕获性分组(?:)有...

网友评论

      本文标题:正则教程

      本文链接:https://www.haomeiwen.com/subject/stricqtx.html