正则表达式

1、什么是正则表达式?

(1)是一种描述字符串组成结构的语法规则

(2)是用于匹配字符串中字符组合的模式

(3)同时正则表达式也是对象

2、特点

(1)非常灵活

(2)逻辑性和功能性非常强。

(3)以非常简单的方式达到字符串的控制。

3、创建正则表达式:

(1)使用字面量

var 变量 = /表达式/

(2)使用RegExp构造函数

var 变量名 =RegExp(/表达式/)或

var 变量名 = new RegExp(/表达式/)

4、正则表达式的使用

(1)test()方法:返回Boolean值。true表示符合正则的规则,false表示不符合正则规则

正则对象.test(被验证的字符串)

(2)模式修饰符:/表达式/[switch]

switch:是模式修饰字符,是可选的,通过它可以对正则进行进一步的设置

g:全局匹配

i:忽略大小写

(3):边界符

^:表示匹配行首的文本(表示以谁开头)

$:表示匹配行尾的文本(表示以谁结尾)

(4)预定义字符:

. : 除了'n'之外的任意单个字符

\d : 表示0~9之间的任意数字。等价于[ 0-9 ]

\D : 等价于[0-9]ID:表示匹配O~9以外的字符。等价于[ ^0-9 ]

\w:表示匹配任意字母、数字和下划线。等价于[ a-zA-Z0-9 ]

\W:除所有字母、数字和下划线以外的字符,相当于[ ^a-zA-ZO-9 ]

\b:单词分界符

\s :匹配空格(包括换行符、制表符、空格符等),相当于[ltirinlvif]

match(正则表达式)方法:是String对象的方法,用来截取符合正则表达式规则的子串,返回值是数组

强调;转义字符 ‘ \ ’,若要输出反斜杠,要使用连续两个 ' \ '

(5)字符范围实例

[ cat ]:匹配字符集合中的任意一个字符c、a、t

[ ^cat ] : 匹配除c、a、t以外的字符

[ A-Z ] :匹配字母A~Z范围内的字符

[ \u4e00-\u9fa5] : 匹配任意一个中文字符

字符组合:如果允许用户输入英文字母(不区分大小写)、数字、短横线-、下划线_的正则情况。

var rg= /h[a-zA-ZO-9_-]$/;

(6)量词符

{m,n}:表示{}之前的字符可以出现m~n次

{n}:表示{}之前的字符可以出现n次

课堂练习:验证西安的座机号码,定义正则表达式测试用户输入的座机号是否正确

<style>

        .ok{

            color: green;

        }

        .fail{

            color: red;

        }

    </style>

</head>

<body>

    请输入座机号码:<input type="text" id="userName"><span id="msg"></span>

    <script>

            let reg = /^(029)[0-9]{8}/    

            let uname = document.querySelector('#userName')

            uname.onblur = function(){

                let span = document.querySelector('#msg')

                if(reg.test(this.value)){

                span.classList.remove('fail')

                span.innerHTML= '输入正确'

                span.classList.add('ok')

        }else{

                span.classList.remove('ok')

                span.innerHTML= '输入错误'

                span.classList.add('fail')

        }

    }

       

    </script>

</body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值