DOM编程-关于正则表达式

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>DOM编程-关于正则表达式</title>
    </head>
    <body>
        <script type="text/javascript">
            /*
                1、正则表达式英文全称:Regular Expression
                   正则表达式用途:主要用在字符串格式匹配方面
                
                2、正则表达式实际上是一门独立的学科,大部分编程语言都支持正则表达式。正则表达式最初使用在医学方面
                    是用来表示神经符号的,目前使用最多的是计算机编程领域,用作字符串格式匹配,包括搜索等方面。
                
                3、正则表达式,对于我们JavaScript编程来说,需要掌握如下内容:
                    第一:常见的正则表达式符号要认识。
                    第二:简单的正则表达式要会写。
                    第三:别人编写的正则表达式要能看得懂。
                    第四:在JavaScript当中,会创建正则表达式对象。(new 对象)
                    第五:在JavaScript当中,会调用正则表达式的方法(调方法  test())
                    第六:要能够快速的从网络中找到自己需要的正则表达式,并测试其有效性。

                    
                4、常见的正则表达式符号:
                表1.常用的元字符
                符号        说明
                .     匹配除换行符以外的任意字符 
                \w    匹配字母或数字或下划线或汉字 
                \s    匹配任意的空白符 
                \d    匹配数字 
                \b    匹配单词的开始或结束 
                ^     匹配字符串的开始 
                $     匹配字符串的结束 

                
                表2.常用的限定符
                代码      语法 说明 
                *         重复零次或更多次 
                +         重复一次或更多次 
                ?         重复零次或一次 
                {n}     重复n次 
                {n,}     重复n次或更多次 
                {n,m}     重复n到m次 

                
                
                表3.常用的反义代码 
                代码         语法 说明 
                \W             匹配任意不是字母,数字,下划线,汉字的字符 
                \S             匹配任意不是空白符的字符 
                \D             匹配任意非数字的字符 
                \B             匹配不是单词开头或结束的位置 
                [^x]         匹配除了x以外的任意字符 
                [^aeiou]     匹配除了aeiou这几个字母以外的任意字符 

                一些说明:
                正则表达式当中的小括号()优先级较高
                [1-9]表示1到9的任意一个数字(出现次数是1次)
                [A-Za-z0-9]表示A-Za-z0-9中的任意1个字符(出现次数1次)
                [A-Za-z0-9-]表示A-Z、a-z、0-9、-,以上所有字符中的任意一个字符(最后的-表示字符)
                | 表示或者

                
                5、会写简单的正则表达式
                QQ号的正则表达式:^[1-9][0-9]{4,}$
                    对上面QQ正则表达式的解释:^表示字符串的开始
                                            [1-9]表示QQ号的第一位是1-9中的任意一个数字
                                            [0-9]表示QQ号的第二位是0-9中的任意一个数字
                                            [0-9]{4,}表示0-9中的任意一个数字可以出现4次以上
                                            $表示字符串的结束
                                            
                6、别人编写的正则表达式要看得懂
                Email地址正则表达式:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
                
                7、创建正则表达式对象
                    第一种创建方式:
                        var regExp = /正则表达式/flags;
                    第二种创建方式:
                        var regExp = new RegExp("正则表达式","flags");

                        
                    关于flags:
                        g:全局匹配
                        i:忽略大小写
                        m:多行搜索(ES规范制定之后才支持)当前面是正则表达式的时候不能使用m,
                            只有前面是普通字符串的时候才能使用m。
                            
                正则表达式对象的test()方法
                    正则表达式.test(用户填写的字符串);这个方法的返回值是true/false
                    true表示字符串格式匹配成功  false表示字符串格式匹配失败

                        
            */
            window.onload = function(){
                document.getElementById("email").onblur = function(){
                    //获取用户填写的email
                    var email = document.getElementById("email").value;
                    // 创建正则表达式对象
                    var emailRegEpx = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
                    // 调用正则表达式的text()方法
                    var ok = emailRegEpx.test(email);
                    // 判断邮箱是否合规
                    if(ok){
                        document.getElementById("emailHint").innerText = "邮箱地址合法"
                    }else{
                        document.getElementById("emailHint").innerText = "邮箱地址不合法"
                    }
                }
                
                // 给文本框绑定focus 获得焦点
                document.getElementById("email").onfocus = function(){
                    document.getElementById("emailHint").innerText = ""
                }
            }
        </script>
        邮箱地址:
        <input type="text" id="email"/>
        <span id="emailHint" style="color: red;font-size:12px;"></span><br />
        
    </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值