zoukankan      html  css  js  c++  java
  • JS输入框正则校验

    1. 开发中需要对etl组件统一进行input输入框校验,允许为空,可以不校验,默认校验长度和特殊字符,代码如下,记录以备复用。

    /**
     * 数据值校验工具类
     */
    var checkService = {
        // 不校验
        none: function () {
            return true;
        },
    
        //非空校验
        isEmpty:function (str) {
            if (str == null || str == "") return false;
        },
    // 只能输入数字[0-9] isDigits: function (str) { if (str == null || str == "") return true; var reg = /^d+$/; return reg.test(str); }, // 匹配english isEnglish: function (str) { if (str == null || str == "") return true; var reg = /^[A-Za-z]+$/; return reg.test(str); }, // 匹配integer(包含正负) isInteger: function (str) { if (str == null || str == "") return true; var reg = /^[-+]?d+$/; return reg.test(str); }, // 匹配汉字 isChinese: function (str) { if (str == null || str == "") return true; var reg = /^[u4e00-u9fa5]+$/; return reg.test(str); }, // 匹配中文(双字节字符,包括汉字和符号) isChineseChar: function (str) { if (str == null || str == "") return true; var reg = /^[u0391-uFFE5]+$/; return reg.test(str); }, // 匹配URL isUrl: function (str) { if (str == null || str == "") return true; var reg = /^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-
    &_~`@[]’:+!]*([^<>"])*$/; return reg.test(str); }, // 字符验证,只能包含中文、英文、数字、下划线、空格。 stringCheck: function (str) { if (str == null || str == "") return true; var reg = /^[a-zA-Z0-9u4e00-u9fa5_ ]+$/; return reg.test(str); }, //字符长度校验(最长64位) stringLengthCheck: function (str, length) { if (str == null || str == "") return true; length = length || 64; if (str.length > length) return false; return true; }, //IP格式验证 isIP: function (str) { if (str == null || str == "") return true; var reg = /^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$/; return reg.test(str); } };

    2. 给需要校验的input加上[data-vaild]属性:

    data-valid=“校验函数名1 校验函数名2”(多种校验,校验名以空格区分)

    - html中给每个带有data-attribute属性的input元素绑定data-valild属性:

    <input id="limit" type="number" data-attribute="limit" value="0"  class="width-100" data-valid="isDigits stringLengthCheck"/>

    - js中给input框绑定blur函数:

    /**
     * 添加校验
     * @param $div
     */
    StencilsEditor.prototype.bindCheck = function ($div) {
        //添加input校验
        $div.find("input[data-attribute]").on('blur', function () {
            var $this = $(this);
            var val = $this.val();
            var valid = $this.data("valid") || "stringCheck stringLengthCheck";
            var valids = valid.split(" ")
            for (var i in valids) {
                var check = valids[i];
                if (!checkService[check](val)) {
                    $this.addClass("has-error");
                    $this.data("errorMsg", "errorMsg_" + check);
                    break;
                }
                $this.removeClass("has-error");
            }
        });
    };
  • 相关阅读:
    [c language] getopt
    编程经典问题
    一些常用的正则表达式
    [Head First Python]6. summary
    Java多线程
    JVM运行原理
    Struts2---自定义拦截器
    SpringMVC框架初步
    测试基本问题
    自动化测试
  • 原文地址:https://www.cnblogs.com/evaxtt/p/9679631.html
Copyright © 2011-2022 走看看