正则02

作者: An的杂货铺 | 来源:发表于2018-12-11 16:11 被阅读0次

one  个别特例

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

</head>

<body>

<script type="text/javascript">

var reg = /^.$/;

console.log(reg.test("a")); // true

console.log(reg.test("5")); // true

console.log(reg.test("\n")); // false

var reg = /^[.]$/;

console.log(reg.test("a")); // false

console.log(reg.test("5")); // false

console.log(reg.test("\n")); // false

console.log(reg.test(".")); // true

var reg = /^[\d]+$/; // 此处\d仍然表示0-9任意一个数字

console.log(reg.test("abc"));//false

console.log(reg.test("abc9"));//false

console.log(reg.test("977"));//true

// 匹配  "[object bbb]"

</script>

</body>

</html>

two  一个简单的表单验证的实例

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>Document</title>

</head>

<body>

    <form action="right.html">

        用户名:<input type="text" name="" id="userName"><span id="s1"></span><br>

        密码:<input type="text" name="" id="psw"><span id="s2"></span><br>

        <input type="radio" name="sex" id="">男

        <input type="radio" name="sex" id="">女<span id="s3"></span><br>

        <input type="submit" value="提交">

    </form>

    <script>

        function $(id) {

          return document.getElementById(id);

        }

        // 表单绑定提交事件

        var oForm = document.querySelector("form");

        var userName = document.querySelector("#userName");

        var psw = document.querySelector("#psw");

        //验证用户名的合法性

        var flagName = null;

        userName.onblur = function(){

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

          if(!reg.test(userName.value)){

              flagName = false

              $('s1').innerText = '用户名不合法'

          }else{

              $('s1').innerText = '用户名合法'

              flagName = true;

          }

        }

        var flagPsw = null;

        psw.onblur = function(){

            var regone = /^.{6,}$/;

            if(!regone.test(psw.value)){

                $('s2').innerText = '密码不合法'

                flagPsw = false;

            }else{

                $('s2').innerText = '密码合法'

                flagPsw = true

            }

        }

        flagsex = null;

        function checksex(){

            var inputs = document.getElementsByName('sex');

            for(var i = 0;i<inputs.length;i++){

                if(inputs[i].checked){

                    flagsex = true;

                }else{

                    $('s3').innerText = '请选择性别'

                    flagsex = false

                }

            }

        }

      oForm.onsubmit = function(){

        checksex();

        if(flagName && flagPsw && flagsex){

            alert('可以了')

        }

        return false;

      }

    </script>

</body>

</html>

three  常用到的正则表达式方法

<!DOCTYPE html>

<html>

<head>

<title></title>

</head>

<body>

<script type="text/javascript">

//正则表达式方法 exec

// exec 方法受参数 g 的影响。若指定了 g,则下次调用 exec 时,会从上个匹配的 lastIndex 开始查找

//exec 查找并返回当前的匹配结果,并以数组的形式返回

        // var reg = /\d+/g;

        // var str = "123哈哈456嘿嘿789呵呵";

        // var arr = reg.exec(str);//123

        // var arr2 = reg.exec(str);//456

        // var arr3 = reg.exec(str);//789

        // console.log(arr,arr2,arr3);

          //字符串方法 match

          // 如果指定了参数 g,那么 match 一次返回所有的结果,以数组的形式

        // var str = "123哈哈456嘿嘿789呵呵";

        // var reg = /\d+/g;

        // var arr = str.match(reg);

        // var arr1 = str.match(reg);

        // console.log(arr); // 123,456,789

          //字符串方法 search

        // var str = "123哈哈456嘿嘿789呵呵";

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

        // var index = str.search(reg);

        // console.log(index);//3

        //replace

        var str = "123哈哈456嘿嘿789呵呵";

        str = str.replace(/\d+/g,function(item) {

            console.log(item);

            return item+":";

        })

        console.log(str);

//  // 项目中常用的正则表达式

// // 手机号码 1 必须11位数 2 以1开头

// var reg = /^1\d{10}$/; // /^1[0-9]{10}$/

// // 中文姓名 1 中文汉字 2 ****·****

// var reg2 = /^[\u4e00-\u9fa5]{2,}(·[\u4e00-\u9fa5]{2,})?$/

// // 有效数字  +12.34 12  0-9  多位数 第一位非0 其他位数任意 12.0

// var reg3 = /^[+-]?(\d|([1-9]\d+))(\.\d+)?/;

// // 邮箱    用户名@163.com  ****.** ****.**.** ***.**.**.** ***-***-***.**

// // 1 用户名  数字 字母 下划线 — . 不能以.或-开头 不能连续—或.

// var reg4 = /^\w+([-.]\w+)*@[a-zA-Z0-9]+([-.][a-zA-Z0-9]+)(\.[a-zA-Z0-9]+)$/;

</script>

</body>

</html>

相关文章

网友评论

      本文标题:正则02

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