Day8:

[]:备选字符集,只能多选一,一个[]只能匹配一位字符
[]:开头加^,除了xx都行
[]:-,标识备选字符的范围
量词:修饰前一位字符出现的次数
{min,max}:最少min个,最多max个
{min,}:最少min个,最多不限制
{num}:固定num个长度
上节回顾
验证座机号码:\d{3,4}-\d{7,}
View Code

一、特殊的数量词

1、+:至少出现一次,不限制出现次数

2、*:可有可无,不限制出现次数

3、?:可有可无,最多只能出现一次

4、分组:改变模式的匹配顺序

身份证号:\d{15}(\d{2}[0-9xX])?
手机号:(\+86)?\s+1[3,5,8]\d{9}
中文姓名:[\u4e00-\u9fa5]{2,6}
邮箱:\w+@\w+([-]\w+)*(\.\w+)+

注:如何正文出现+ * ?都要使用\转义

二、指定匹配位置

1、^:整个正则表达式的开头,表示以xxx开始

2、$:整个正则表达式的结尾,表示以xxx结束

3、?=x:预判,前一个字符之后,必须紧跟xxx

4、?!x:预判,前一个字符之后,必须不能跟xxx

三、RegExp对象

1、定义:专门封装一条正则表达式,提供使用正则表达式的常用API

2、如何使用RegExp对象:

(1)1、创建

a、var RegExp=/正则表达式/ig

b、var boolean=regExp.test("被检查的字符串")    验证通过返回true,否则返回false,(此方法注意了,它只要找到就返回true,坑货,解决办法:正则表达式前加^,后加$)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script>
            var regexp=/^\w+@\w+([-]\w+)*(\.\w+)+$/;
            while(true){
                var input=prompt("请输入邮箱:");
                if(regexp.test(input)){
                    document.write("注册成功");
                    break;
                }else{
                    alert("邮箱格式有误");
                }
            }
        </script>
    </head>
    <body>
        
    </body>
</html>
View Code

c、验证要求完整匹配,查找要求部分匹配

d、查找:exec 既可以查找关键字的位置,又能找到关键字的内容,var arr=regExp.exec("被查找的内容")  arr[0]:找到的关键字内容,arr.index属性:关键字的位置,exec方法每次也只能找1个,但是它可以每次自动修改regExp对象的lastIndex属性:表示下次开始匹配的位置

e、indexOf不支持正则,search支持正则,每次只能找1个,match可以得到所有内容,但是得不到位置

(2)2、调用API

 

posted @ 2017-07-27 15:06  licy_python  阅读(112)  评论(0编辑  收藏  举报