• js判断输入的数据格式是否正确(邮箱地址,手机号等)
  • 发布于 2个月前
  • 416 热度
    0 评论
  • 阳光
  • 1 粉丝 29 篇博客
  •   

前言

我们在开发系统时,数据的合法性校验是我们开发系统中最基本的一项功能。比如验证用户输入的邮箱是否合法,输入的手机号是否合法等,虽然现在很多前端插件已经有非常成熟的解决方案,但是对于一些没有使用插件的系统来说,我们还是需要使用原生的js去做校验判断,今天我就汇总了我们日常开发过程中常见的校验逻辑代码,希望对于大家有所帮助。

代码如下:

// JavaScript Document
//                            _ooOoo_
//                           o8888888o
//                           88" . "88
//                           (| -_- |)
//                            O\ = /O
//                        ____/`---'\____
//                      .   ' \\| |// `.
//                       / \\||| : |||// \
//                     / _||||| -:- |||||- \
//                       | | \\\ - /// | |
//                     | \_| ''\---/'' | |
//                      \ .-\__ `-` ___/-. /
//                   ___`. .' /--.--\ `. . __
//                ."" '< `.___\_<|>_/___.' >'"".
//               | | : `- \`.;`\ _ /`;.`/ - ` : | |
//                 \ \ `-. \_ __\ /__ _/ .-` / /
//         ======`-.____`-.___\_____/___.-`____.-'======
//                            `=---='
//
//         .............................................
//                  佛祖保佑             永无BUG
/** 【堆代码 duidaima.com】常用JS验证类库 **/
var Common={
    /**
     * 检查输入字符串是否为空或者全部都是空格
     * @param  str 需要验证的字符串
     * @return bool
     */
    'isNull' : function(str) {
        if ( str == "" ) return true;
        var reg_str = "^[ ]+$";
        return reg_str.test(str);
    },
    /**
     * 验证是否为合法的手机号
     * @param mobile  手机号
     * @param reg_exp [非必传]验证规则【因为电话号码的规则有可能改,所以这个是一个参数】
     * @return bool
     */
    'isMobile' : function(mobile) {
        var reg_exp = arguments[1] ? arguments[1] : /^(((1[34578]{1}))+\d{9})$/;
        if (mobile.length == 0) {
            return false;
        }
        if (mobile.length != 11) {
            return false;
        }
        return reg_exp.test(mobile);
    },
    /**
     * 验证是否是合法的邮箱
     * @param email   邮箱地址
     * @param reg_exp [非必传]验证规则【如果有特殊需求,可以自定义规则】
     * @return bool
     */
    'isEmail' : function(email) {
        var reg_exp = arguments[1] ? arguments[1] : /^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
        if (email.length == 0) {
            return false;
        }
        return reg_exp.test(email);
    },
    /**
     * 验证是否是合法的固定电话
     * @param phone 固定电话
     * @return bool
     */
    'isPhone' : function(phone) {
        var reg_exp = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/;
        if (phone == "") {
            return false;
        }
        return reg_exp.test(phone);
    },
    /**
     * 验证是否是邮编
     * @param postcode 邮编
     * @return bool
     */
    'isPostcode' : function(postcode) {
        var reg_exp = /^\d{6}$/;
        if (postcode == "") {
            return false;
        }
        return reg_exp.test(postcode);
    },
    /**
     * 验证是由0-9组成的数字不能有小数点
     * @param number 数字
     * @return bool
     */
    'isNumber' : function(number) {
        var reg_exp = /^[0-9]+$/;
        if (number == "") {
            return false;
        }
        return reg_exp.test(number);
    },
    /**
     * 验证是由0-9组成的数字可以能有小数点并且保留2位
     * @param double_number 数字
     * @return bool
     */
    'isDoubleNumber' : function(double_number) {
        var reg_exp = /^[0-9]+(\.\d{2})?$/;
        if (double_number == "") {
            return false;
        }
        return reg_exp.test(double_number);
    },
    /**
     * 验证是否是中文
     * @param str 字符串
     * @return bool
     */
    'isChinese' : function(str) {
        var reg_exp = /^[\u0391-\uFFE5]+$/;
        if (str == "") {
            return false;
        }
        return reg_exp.test(str);
    }
 
};
总结:

以上就是我们基于js的常见数据合法性判断逻辑,核心还是依据正则表达式验证输入的数据是正确,代码比较简单,仅供大家参考。

用户评论