JS中--常用common方法

1.根据url中携带的参数名获取参数值

/**
 * 获取url中的参数
 */
function getUrlParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
    var r = window.location.search.substr(1).match(reg);  //匹配目标参数
    if (r != null) return unescape(r[2]); return null; //返回参数值
}

示例:

  var url :http://localhost:8003/htmls/xxxxxxxx.html?guid=b3905077-ac9a-b9ba-5ba0-8ad411fa7d69&iType=2019

  var iType = getUrlParam("iType");

  console.log(iType ) // 2019

 

用法:

 

2.常用判断登录端的方法

/* 登陆端判别方法*/
export function _isMobile() {
  const flag = navigator.userAgent.match(/(phone | pad | pod | iPhone | iPod | ios | iPad | Android | Mobile | BlackBerry | IEMobile | MQQBrowser | JUC | Fennec | wOSBrowser | BrowserNG | WebOS | Symbian | Windows Phone)/i)
  return flag
}

3.判断移动端还是pc端

/* 判别手机端还是pc*/
export function judgeCss() {
  if (this._isMobile()) {
    this.phoneCss = true
    // alert("手机端")
  } else {
    this.pcCss = true
    // alert("pc端")
  }
}

 4.基础密码校验

至少八个字符,至少一个字母和一个数字:

"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"
至少八个字符,至少一个字母,一个数字和一个特殊字符:

"^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$"
 /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,20}$/
至少八个字符,至少一个大写字母,一个小写字母和一个数字:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"
至少八个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$"
最少8个字符,最多10个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,10}$"

 5.将有效数字转换成星号

/**
 * @Description:将有效数字转换成星号
 * @param {*} isHideNumState  是否隐藏数据状态
 * @param {*} originValue  待转换数据
 *
 * @return {*}
 */
function ConvertToAsterisk(isHideNumState, originValue) {
  const previewData = originValue.toLocaleString() // 待隐藏数据
  // 待转换数据为空 或者 展示数据
  if (originValue === '' || isHideNumState === false) {
    return originValue
  }
  // 有待转换数据
  if (originValue !== '') {
    const convertedValue = isHideNumState ? previewData.toString().replace(/\d/g, '*') : previewData
    return convertedValue
  }
}
export { ConvertToAsterisk }

6.千分位数据转换

// 千分位数据转换
export function convertNumber(value) {
  if (!value) return 0
  // 处理整数部分
  const intPart = Math.trunc(value)
  const intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
  // 预定义小数部分
  let floatPart = ''
  const valueArray = value.toString().split('.')
  if (valueArray.length === 2) {
    floatPart = valueArray[1].toString()
    return intPartFormat + '.' + floatPart
  }
  return intPartFormat + floatPart
}
export function numberToCurrencyNo (value) {
  if (!value) return 0
  var type = typeof value || 'noType'
  if (type == 'number') {
    // 获取整数部分
    const intPart = Math.trunc(value)
    // 整数部分处理,增加,
    const intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
    // 预定义小数部分
    let floatPart = ''
    // 将数值截取为小数部分和整数部分
    const valueArray = value.toString().split('.')
    if (valueArray.length === 2) { // 有小数部分
      floatPart = valueArray[1].toString() // 取得小数部分
      return intPartFormat + '.' + floatPart
    }
    return intPartFormat + floatPart
  } else {
    return value
  }
}

 

posted @ 2019-06-05 18:04  涼皮Herr  阅读(1481)  评论(0编辑  收藏  举报