【前端 VUE】vue 时间戳转日期 校验正整数 校验数字带小数点 是否是字母数字

//验证 是否是字母数字 0 1 2

export function checkPass(pass) {

    if (pass.length < 6) {

        return 0;

    }

    var ls = 0;

    if (pass.match(/([a-z])+/)) {

        ls++;

    }

    if (pass.match(/([0-9])+/)) {

        ls++;

    }

    if (pass.match(/([A-Z])+/)) {

        ls++;

    }

    if (pass.match(/[^a-zA-Z0-9]+/)) {

        ls++;

    }

    return ls;

}

// 身份证号验证

export function IdentityCodeValid(code) {

    var city={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江 ",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北 ",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏 ",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外 "};

    var tip = "";

    var pass= true;

    if(!code || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(code)){

        tip = "身份证号格式错误";

        pass = false;

    }

  else if(!city[code.substr(0,2)]){

        tip = "地址编码错误";

        pass = false;

    }

    else{

        //18位身份证需要验证最后一位校验位

        if(code.length == 18){

            code = code.split('');

            //∑(ai×Wi)(mod 11)

            //加权因子

            var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];

            //校验位

            var parity = [ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 ];

            var sum = 0;

            var ai = 0;

            var wi = 0;

            for (var i = 0; i < 17; i++)

            {

                ai = code[i];

                wi = factor[i];

                sum += ai * wi;

            }

            var last = parity[sum % 11];

            if(parity[sum % 11] != code[17]){

                tip = "校验位错误";

                pass =false;

            }

        }

    }

    console.log(tip)

    // if(!pass) alert(tip);

    return pass;

}

//时间戳转日期

export function timestampToTime(timestamp,type) {

    var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000

    var Y = date.getFullYear() + '-';

    var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';

    var D = date.getDate() <10? '0'+date.getDate()+ ' ' : date.getDate() + ' ';

    var h = date.getHours()<10? '0'+date.getHours()+ ':' : date.getHours() + ':';

    var m = date.getMinutes() <10? '0'+date.getMinutes()+ ':' : date.getMinutes() + ':';

    var s = date.getSeconds();

 

    if(type){

        if(s<10){

            return Y+M+D+h+m+'0'+s;

        }else{

            return Y+M+D+h+m+s;

        }

 

    }else{

        return Y+M+D;

    }

}

/**

* @name 校验正整数

*/

export const integer = (str) => {

    let r = /^\+?[1-9][0-9]*$/;  //正整数

    return r.test(str);

}

/**

* @name 校验数字带小数点

*/

export const dotNumber = (str) => {

    let r = /^\+?[1-9][0-9&.]*$/;  //正整数

    return r.test(str);

}

 

两位小数 限制最大整数位

/**

* @name 保留正整数str,leg(值,保存位数)

*/

export const numberInt = (str, leg) => {

    if( leg && str.length > leg ) {

        str = str.slice( 0,leg );

    }

    let int = Number( parseInt(str)).toString() != 'NaN'  || str == '' ? Number( parseInt(str)).toString() : '';

    return int

}

/**

* @name 数字,保留两位小数 str,maxStr(值,最大值)

*/

export const floatInt = (str,maxStr) => {

    let float = str.match( /^\d*(\.?\d{0,2})/g)[0]

    if( float > maxStr ) {

        float = ( float/10 ).toString().match( /^\d*(\.?\d{0,2})/g)[0]

    }

    return float

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值