zoukankan      html  css  js  c++  java
  • js正则校验表单格式

    /**
     * 表单校验规则
     * 不符合规则时,返回错误文案
     * 符合规则时,返回false
     */
    
    var rules = {}
    
    // 是否必填
    rules.required = function (value) {
        return (!!value || value === 0) ? false : "请输入内容"
    };
    
    // 最大字符长度
    rules.maxLength = function (value, size) {
        var size = size || 256;
        return String(value).length <= size ? false : ("最大不超过" + size + "个字符")
    }
    
    // 只允许字母和数字
    rules.onlyAlphabetic = function (value) {
        var reg = /^[0-9a-zA-Z]+$/;
        return reg.test(value) ? false : "只能输入字母和数字"
    }
    
    // 只允许字母数字和下划线
    rules.onlyAlphabeticUnderline = function (value) {
        var reg = /^[0-9a-zA-Z_]+$/;
        return reg.test(value) ? false : "只能输入字母、数字或下划线"
    }
    
    // 只允许数字
    rules.onlyNumber = function (value) {
        var reg = /^[0-9]+$/;
        return reg.test(value) ? false : "只能输入数字"
    }
    
    // 只允许字母
    rules.onlyLetter = function (value) {
        var reg = /^[a-zA-Z]+$/;
        return reg.test(value) ? false : "只能输入字母"
    }
    
    // 特殊字符
    rules.noSpecial = function (value) {
        var regEn = /[`~!@#$%^&*()_+<>?:"{},./;'[]]/im,
            regCn = /[·!#¥(——):;“”‘、,|《。》?、【】[]]/im;
        return regEn.test(value) || regCn.test(value) ? false : "不能输入特殊字符"
    }
    
    // 邮箱
    rules.email = function (value) {
        var reg = /^[a-zA-Z0-9_-]+@([a-zA-Z0-9]+.)+(com|cn|net|org)$/;
        return reg.test(value) ? false : "邮箱格式错误"
    }
    
    // 手机号(以1开头的11位数字)
    rules.phone = function (value) {
        var reg = /^[1][3,4,5,7,8][0-9]{9}$/;
        return reg.test(value) ? false : "手机格式错误"
    }
    
    // 只允许汉字
    rules.chinese = function (value) {
        var reg = /^[u4e00-u9fa5]+$/;
        return reg.test(value) ? false : "只能输入汉字"
    }
    
    // 密码格式校验
    rules.password = function (value) {
        if (String(value).length < 6) {
            return "密码长度不小于6位"
        }
        if (String(value).length > 18) {
            return "密码长度不超过18位"
        }
        var level = 0;
        if (value.search(/[a-z]/) > -1) {
            level++; //密码中包含小写字母
        }
        if (value.search(/[A-Z]/) > -1) {
            level++; //密码中包含大写字母
        }
        if (value.search(/[0-9]/) > -1) {
            level++; //密码中包含数组
        }
        if (value.search(/[`~!@#$%^&*()_+<>?:"{},./;'[]]/im) > -1) {
            level++; //密码中包含特殊符号
        }
        if(level<2){
            return "密码至少包含大写字母、小写字母、数字、标点符号中的两种"
        }else{
            return level; // 当前密码强度为level(2/3/4)
        }
    }
    
    
    export default rules;
    

      

  • 相关阅读:
    MySQL高级查询总结
    MySQL数据库作业
    MySQLdump备份还原命令
    MySQL之Join
    MySQL课堂作业(一)
    Mysql数据库
    Js实例之简易计算器
    JS系统函数
    js课堂作业之转换月份
    C++ Name Mangling 为什么不编码返回值参数
  • 原文地址:https://www.cnblogs.com/yangshifu/p/12593192.html
Copyright © 2011-2022 走看看