js常用函数

来源:互联网 发布:最基本的网络拓扑结构 编辑:程序博客网 时间:2024/06/01 08:53
///得到文件名对应的缩略图名称
function getThumbnailFilename(filename,suffix) {
    let lastdot = filename.lastIndexOf('.')
     if(suffix!=undefined)return filename.substring(0, lastdot) +suffix
    return filename.substring(0, lastdot) + "_icon.jpg"
}
//异或解密字符串
function XORDecode(str) {
    var i, k, str2 = "";
    k = str.split(".");
    for (i = 0; i < k.length; i++) {
        str2 += String.fromCharCode(k[i] ^ globalVariablesecretkey);
    }
    return str2;
}
//异或加密字符串
function XOREncrypt(str) {
    var monyer = new Array();
    var i, s, str;


    for (i = 0; i < str.length; i++) {
        monyer += str.charCodeAt(i) ^ globalVariablesecretkey
        monyer += ".";
    }


    return monyer;
}
//校验email
var checkMail = function(szMail) {
    var szReg = /^[A-Za-zd]+([-_.][A-Za-zd]+)*@([A-Za-zd]+[-.])+[A-Za-zd]{2,5}$/;
    var bChk = szReg.test(szMail);
    return bChk;
}
//是否为强密码
var strongPassword = function(szPassword) {
    let szReg = /^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&*]+$)(?![\d!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$/;
    let bChk = szReg.test(szMail);
    return bChk;
}
//是否为中强密码
var middlePassword = function(szPassword) {
    let szReg = /^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$/;
    let bChk = szReg.test(szMail);
    return bChk;
}
//是否为弱密码
var weakPassword = function(szPassword) {
    let szReg = /^(?:\d+|[a-zA-Z]+|[!@#$%^&*]+)$/;
    let bChk = szReg.test(szMail);
    return bChk;
}
//判断密码的强度
var CheckPasswordLevel = function(szPassword) {
    if (strongPassword(szPassword)) return 3
    else if (middlePassword(szPassword)) return 2
    else return 1
}
//得到两个日期的差
var getDateDifference = function(date01, date02) {
    let days = date01.getTime() - date02.getTime()
    return parseInt(days / 86400000)
}
//得到增加月的日期(增加或减少)
var addMultiMonths=function(datetemp,months){
    let m=datetemp.getMonth()+months
    let y=datetemp.getFullYear()
    let d=datetemp.getDate()
    if(m>12){
       y=y+Math.floor(m/12)
        m=m%12
    }else if(m<0){
        y=y+Math.floor(m/12)+1
        m=m%12
    }
    return new Date(y,m,d)
}
//得到两个日期中的最大值
var getMaxDate = function(date01, date02) {
    if (getDateDifference(date01, date02) > 0) return date01
    return date02
}
//校验中文姓名
var validateChineseName = function(thename) {
    let reg = /^([\u4E00-\u9FA5])*$/;
    return thename.match(reg)
}
//校验学校名称
var validateSchoolName = function(thename) {
    let reg = /^([\u4E00-\u9FA5]|[a-zA-Z0-9]){4,}$/;
    return thename.match(reg)
}
//校验手机号码
var validateMobile = function(phone) {
    let reg = /^1[34578]\d{9}$/
    return String(phone).match(reg)
}
//校验用户名
var validateUsername = theusername => {
    let patrn = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){5,19}$/
    let st = patrn.test(theusername)
    return st
}
//判断字符串是否为空
var isNullOrWriteSpace=str=>{
   return (str==null) || (str.replace(/(^s*)|(s*$)/g, "").length ==0)
}
export {
    getThumbnailFilename,
    XORDecode,
    XOREncrypt,
    checkMail,
    CheckPasswordLevel,
    getDateDifference,
    addMultiMonths,
    getMaxDate,
    validateChineseName,
    validateUsername,
    validateMobile,
    validateSchoolName,
    isNullOrWriteSpace
}
0 0
原创粉丝点击