• js正则表达式


    笔记

    js正则

     test - 判断字符串是否符合规定的正则 整体匹配

     rep=/d/ 匹配一个数字

     rep=/d+/;   d 匹配一个或多个数字
     rep.test("asdfdf89jfjfks") 返回true
     rep.test("sdfgegdddcvvdsw") 返回false


     rep=/^d+$/  以数字开头 数字结尾
     rep.test("asdfj123opk") 返回false
     rep.test("12325839")  返回true


      exec - 获取匹配的数据
    rep=/d+/
    str="wangshen_68_houhy_20"
    rep.exec(str) 返回["68"]  默认只取第一个

    w : 数字,字母 ,下划线 0-9 a-z A-Z _
     : 匹配边界 字符串的开头和结尾 空格的两边都是边界 => 不占用字符串位数 单词的开头和结尾以空格隔开
    var text = "JavaScript is more fun than JavaEE or JavaBeans!";
    var pattern = /Javaw*/;
    pattern.exec(text);  返回["JavaScript"]  只匹配第一个

     pattern = /Java(w*)/;
     pattern.exec(text)  返回["JavaScript","Script"]  只匹配第一个 二次通过分组获取后面的


     pattern = /Javaw*/g;  全局匹配
     pattern.exec(text)  拿到第一个 ["JavaScript"]
     pattern.exec(text)   拿到第二个["JavaEE"]
     pattern.exec(text)   拿到第三个["JavaBeans"]
     pattern.exec(text)   null   取完了
     pattern.exec(text)  在执行,又从头开始了 ["JavaScript"]

     var pattern=/Java(w*)/g;  全局匹配 每取一次都分组 把匹配的结果在匹配一次
     pattern.exec(text)  拿到第一个 ["JavaScrrpt","Script"]
     pattern.exec(text)   拿到第二个["JavaEE","EE"]
     pattern.exec(text)   拿到第三个["JavaBeans","Beans"]
     pattern.exec(text)   null   取完了
     pattern.exec(text)  在执行,又从头开始了 ["JavaScropt","Script"]


     多行匹配:
        默认就是多行匹配
     var text = "asddd JavaScript is more fun than Java or JavaBeans!"
     var pattern=/^Java(w*)/g
     pattern.exec(text)  拿到["JavaScript","Script"]
     pattern.exec(text)   null

     多行匹配 加了^开头的 必须用m才能获取到换行的
     var pattern=/^Java(w*)/gm
     pattern.exec(text)  拿到["JavaScript","Script"]
     pattern.exec(text)  拿到["Java", ""]
     pattern.exec(text)  拿到["JavaBeans", "Beans"]
     pattern.exec(text)  拿到pattern.exec(text)
     pattern.exec(text)  null

     登录注册验证
     默认事件先执行:checkbox (先打上勾)
     自定义先执行:a submit

     <a></a>

     <form>
        <input type='type'/>
        <input type='password'/>
        <input type="submit" />
     </form>
       $(':submit').click(function(){
            $(':text,:password').each(function(){
            return false;  终止循环
            })
            return false;  控制跳转
       })

       input,checkbox

       ---------表单验证------
       1.减少数据库请求
       JS:验证
          $(':submit').click(function(){
            $(':text,:password').each(function(){
            return false;  终止循环
            })
            return false;  控制提交
       })
       后端:python实现
       业务处理

     

    s1.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <input type="checkbox"/>
        <script src="jquery-1.12.4.js"></script>
        <script>
            $(':checkbox').click(function () {
                var v= $(this).prop('checked');
                console.log(v);
            })
        </script>
    </body>
    </html>

     

    s1-1.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <h1>注册新用户</h1>
    <form action="/account/register">
       <div>
           <label><span>*</span>用户名:</label>
           <input type="text" require="true" label="用户名" Filed="string" range="4-40" name="username" />
       </div>
        <div>
           <label><span>*</span>手机号:</label>
           <input type="text" require="true" label="手机号" mobile="true"  name="telephone"/>
       </div>
        <div>
           <label><span>*</span>登录密码:</label>
           <input type="text" require="true" label="登录密码" min-len="6"  name="pwd" />
       </div>
        <div>
           <label><span>*</span>确认密码:</label>
           <input type="text" require="true" label="确认密码" confirm-to="pwd"  name="confirmpwd"/>
       </div>
        <div>
           <label><span>*</span>验证码:</label>
           <input type="text" require="true" label="验证码" style="width: 80px;name="checkcode"/>
            <a style="width: 125px;display: inline-block;"><img src="ll.jpg"></a>
       </div>
    </form>
    </body>
    </html>

     

    wpq.js

    /**
     * Created by Administrator on 2019-06-01.
     */
    $(form).find(':text,:password').each(function () {

        var name=$(this).attr('name');
        var label=$(this).attr('label');
        var val=$(this).val();
        var $parent=$(this).parent();
        var required=$(this).attr('require');
        if(required){
            if(!val||val.trim() == ''){
            flag=false;
            return false
       
    }}

        var confirm_to=$(this).attr('confirm-to');
        if(confirm_to){
            var $original =$(form).find("input[name='"+confirm_to+"']");
            if($original.val().trim()!=val.trim()){
                flag=false;
                return false;
        }}
        var mobile=$(this).attr('mobile');
            if(mobile){
                var reg=/^1[3|5|8]d{9}$/;
                if(!reg.test(val)){
                    flag=false;
                    return false;
                }
            }
        var field=$(this).attr('Field');
            if(field=='string'){
                var reg=/^w+$/;
                if(!reg.test(val)){
                    flag=false;
                    ErrorMessage($parent,label+'只能由英文 数字及"_组成"')
                    return false;
                }
            }}
    )

  • 相关阅读:
    PHP加速器
    sublime text3-代码片段配置
    CI源码引用使用--php引用demo,静态变量和引用关系
    配置nginx1.7.8支持pathinfo模式
    php多线程即时通讯
    linux上配置subversion服务器端安装配置并使用svn,windows本地检出,设置同步更新服务器的钩子
    time返回当前的 Unix 时间戳而$_SERVER["REQUEST_TIME"]得到请求开始时的时间戳
    yum命令学习
    linux自定义开机启动服务
    闲与忙
  • 原文地址:https://www.cnblogs.com/leiwenbin627/p/10964540.html
Copyright © 2020-2023  润新知