正则密码强度网址匹配关键字屏蔽身份证手机号姓名等应用(建议保存封装)

36 篇文章 0 订阅
1 篇文章 0 订阅
/**
 * 此方法用来验证密码强度
 * @param {Number} pwd 传入的密码
 */
function password_strength(pwd) {
    var re = /(?=.*([a-zA-Z].*))(?=.*[0-9].*)[a-zA-Z0-9-*/+.~!@#$%^&*()]{6,20}$/;
    re.test('Abc123345¥Z')
    if (re.test(pwd)) { //至少包含数字跟字母,可以有字符
        return '密码强'
    } else if (/^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$).{6,20}$/.test(pwd)) { //密码包含 数字,英文,字符中的两种以上,长度6-20
        return '密码中'
    } else if (/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/.test(pwd)) { //密码至少包含 数字和英文,长度6-20
        return '密码弱'
    } else {
        return '不符合要求'
    }
}
/**传入的字符串提取网址
 *  @param {String} str 传入的字符串提取网址
 */
function extractwebaddress(str) {
    var str = '([hH][tT]{2}[pP]://|[hH][tT]{2}[pP][sS]://|[wW]{3}.|[wW][aA][pP].|[fF][tT][pP].|[fF][iI][lL][eE].)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]'
    var re = new RegExp(str, 'g')
    var html = str;
    return html.match(re)
}

/**
 * 金额转化成1,000,000的形式
 * @param {number} number 传入的金额
 */
function amountofmoney(number) {
    var num = number.toString();
    var re = /\B(?=(\d{3})+$)/g
        // console.log(num.match(re))
    return num = num.replace(re, ",")
}


/**
 * @param {String} 传入的检查语句
 */
function minggan(str, arr) {
    // var arr = ['傻逼', 'sb', '憨批', 'nmsl', 'tm']
    arr = arr.join('|')
    var re = new RegExp(arr, "g")
        // var str = "我tm骂你个傻逼怎么了nmsl"
    str = str.replace(re, function(num) {
        var a = ""
        for (var i = 0; i < num.length; i++) {
            a += "*"
        }
        return a
    })
    return str
}
/**
 * 12306网站用的验证方式
 */
var $12306 = {
        //验证用户名
        user: function(str) {
            var re = /^\w{6,30}$/;
            if (re.test(str)) {
                return true;
            }
            return false
        },
        //验证密码强度
        pwd: function(pwd) {
            var re = /^(?=.*[a-z]+)(?=.*[A-Z]+)(?=.*\d+)(?=.*[~!@#%^&]).{6,12}$/;
            re.test('Abc123345¥Z')
            if (re.test(pwd)) { //判断是否有数字  大,小写 特殊字符
                return '密码强'
            } else if (/^(?=.*[a-z]+)(?=.*[A-Z]+)(?=.*\d+).{6,12}$/.test(pwd) || /^(?=.*[~!@#%^&])(?=.*[A-Z]+)(?=.*\d+).{6,12}$/.test(pwd) || /^(?=.*[~!@#%^&])(?=.*[a-z]+)(?=.*\d+).{6,12}$/.test(pwd)) { //判断是否有大小写和数字 
                return '密码中'
            } else if (/^(?=.*\w)(?=.*\d+).{6,12}$/.test(pwd)) { //判断是否有大|小写和数字 
                return '密码弱'
            } else {
                return '不符合要求'
            }
        },
        //验证身份证
        sfz: function(sfz) {
            var re = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
            if (re.test(sfz)) {
                return true

            }
            return false
        },
        //验证邮箱
        email: function(str) {
            var re = /^([a-zA-Z\d])(\w|\-)+@[a-zA-Z\d]+\.[a-zA-Z]{2,4}$/;
            if (re.test(str)) {
                return true
            }
            return false
        },
        //验证手机
        phone: function(phone) {
            var re = /^1[3456789]\d{9}$/;
            if (re.test(phone)) {
                return true
            }
            return false
        },
        //验证名字
        name: function(name) {
            var re = /^([\\u4e00-\\u9fa5]{1,20}|[a-zA-Z\\.\\s]{1,20})$/;
            if (re.test(name)) {
                return true
            }
            return false
        }

    }
    /**
     * 保留小数
     * @param {number} num 传入的需要保留几位的数字
     * @param {number} nnn 输入保留几位小数  
     */
function roun1(num, nnn) {
    var re = new RegExp("\\.((\\d{" + nnn + "})(\\d)?)");
    var num1 = String(num);
    var num2 = parseInt(num1)
    var num3 = 0;
    var num4 = []
        // console.log(re.exec(num1))
    num4 = re.exec(num1)
    console.log(num4)
    if (num4) {
        if (num4[3] >= 5) {
            num3 = +num4[2] + 1;
        } else {
            num3 = +num4[1]
        }
    } else {
        return num.toFixed(nnn)
    }
    return Number(num2 + "." + num3)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值