js 多种情况校验

/**
     * 校验是否是日期
     * @param  {[type]}  datestr [description]
     * @return {Boolean}         [description]
     */
    var isDate = function (datestr) {
        var result = datestr.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
        if (result == null) {
            return false;
        }
        var d = new Date(result[1], result[3] - 1, result[4]);
        return (d.getFullYear() == result[1] && (d.getMonth() + 1) == result[3] && d.getDate() == result[4]);
    };

    /**
     * 是否为数字
     * @param  {[type]}  e [description]
     * @return {Boolean}   [description]
     */
    var isNumber = function (e) {
        var re = /^[0-9]+.?[0-9]*$/;
        return re.test(e);
    };

    /**
     * 校验是否为中文
     * @param {[type]} str [description]
     */
    var isChinese = function (str) {
        if (str.length != 0) {
            var reg = /^[\u0391-\uFFE5]+$/;
            return reg.test(str);
        } else {
            return false;
        }
    };

    /**
     * 判断是否为空
     * @param  {[type]}  [description]
     * @return {Boolean}     [description]
     */
    var isEmpty = function (obj) {
        if (typeof obj === "undefined" || obj === null || obj === "") {
            return true;
        }
        return false;
    };

    var isUndefined = function (obj) {
        if (typeof obj === "undefined") {
            return true;
        }
        return false;
    };

    /**
     * 判断是否为字符串
     * @param {[type]} source
     */
    var isString = function (source) {
        return Object.prototype.toString.call(source) === "[object String]";
    };

    /**
     *  判断是否为function
     * @param t
     * @returns {boolean}
     */
    var isFunction = function e(t) {
        return "function" == typeof t && "number" != typeof t.nodeType
    };

    /**
     * trim
     * @param str
     * @returns
     */
    var trim = function (str) { //删除左右两端的空格
        return str.replace(/(^\s*)|(\s*$)/g, "");
    };

    var removeStrNull = function (str) {
        return str.replace(/\s/g, "");
    };

    /**
     * 是否是固定电话
     * @param  {[type]} phone [description]
     * @return {[type]}       [description]
     */
    var isTelephone = function (phone) {
        var phone_reg = new RegExp(/^([+]{0,1}\d{3,4}|\d{3,4}-)?\d{7,8}$/);
        return phone_reg.test(phone);
    };

    /**
     * 校验手机号码
     * @param  {[type]} mobile [description]
     * @return {[type]}        [description]
     */
    var isMobilephone = function (mobile) {
        var mobile_reg = new RegExp(/^0{0,1}1[0-9]{10}$/);
        return mobile_reg.test(mobile);
    };

    /**
     * 校验折扣
     * @param  {[type]}  discount [description]
     * @return {Boolean}          [description]
     */
    var isDiscount = function (discount) {
        var reg = new RegExp(/^(0([\.]\d{1,2})|1|1.00|1.0)$/);
        return reg.test(discount);
    };

    /**
     * 校验电子邮箱
     * @param  {[type]} email [description]
     * @return {[type]}       [description]
     */
    var isEmail = function (email) {
        var email_reg = new RegExp(/^\w+([-+.]\w+)*@\w+([-.]\w+)*.\w+([-.]\w+)*$/);
        return email_reg.test(email);
    };

    /**
     * 校验身份证(简单校验)
     * @param  {[type]} str [description]
     * @return {[type]}     [description]
     */
    var isIDCard = function (str) {
        var IDCardReg = new RegExp(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/);
        return IDCardReg.test(str)
    };

    /**
     * 改变对象的值,如果未设置,报错
     * @param {Object} obj 操作的对象
     * @param {String} key 操作的属性
     * @param {String} val 改变的值
     */
    var xChange = function (obj, key, val) {
        if (isUndefined(obj[key])) {
            console.error(key + '不存在')
            return;
        }
        obj[key] = val;
    };

    /**
     * 空值安全返回
     * @param {any} str
     * @param {any} preText
     */
    var xrtSafe = function (str, preText) {
        if (isEmpty(str)) {
            return preText;
        }
        return str;
    };

    /**
     * 判断是否是数组
     * @param {any} arg
     */
    var isArray = function (arg) {
        return Object.prototype.toString.call(arg) === '[object Array]';
    };

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值