判斷變量的方法&&正則驗證方法

在日程開發中,我們會碰到很多地方都需要做正則驗證、而且有些業務會做變量判斷的處理,所以今天我把自己日常開發過程中積累的正則方法&&判斷變量的方法做一次簡單的整理。

test()方法在字符串中查找是否存在指定的正則表達式,并返回布爾值,如果存在則返回true,否則返回false。

1.判斷字符串首字母是否小寫

/**
 * @param {string} str
 * @returns {Boolean}
 */
function validLowerCase(str) {
  const reg = /^[a-z]+$/
  return reg.test(str)
}
validLowerCase('beautiful')  //true
validLowerCase('Beautiful')  //false

2.判斷字符串首字母是否大寫

/**
 * @param {string} str
 * @returns {Boolean}
 */
function validUpperCase(str) {
  const reg = /^[A-Z]+$/
  return reg.test(str)
}

3.判斷郵箱

/**
 * @param {string} email
 * @returns {Boolean}
 */
function validEmail(email) {
  const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
  return reg.test(email)
}

4.判斷手機號

/**
 * @param {string} PhoneNum
 * @returns {Boolean}
 */
function validPhoneNum(PhoneNum) {
  const reg = /^1[3|4|5|6|7|8|9][0-9]{9}$/
  return reg.test(PhoneNum)
}

5.判斷是否為數組

/**
 * @param {Array} arg
 * @returns {Boolean}
 */
function isArray(arg) {
  if (typeof Array.isArray === 'undefined') {
    return Object.prototype.toString.call(arg) === '[object Array]'
  }
  return Array.isArray(arg)
}

6.判斷是否為字符串

/**
 * @param {string} str
 * @returns {Boolean}
 */
function isString(str) {
  if (typeof str === 'string' || str instanceof String) {
    return true
  }
  return false
}

7.判斷URL地址

/**
 * @param {string} url
 * @returns {Boolean}
 */
function validURL(url) {
    const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
    return reg.test(url)
}

8.18位身份證驗證

校驗年份為1800-2020,日期沒有必要較真。

/**
 * @param {string} ID
 * @returns {Boolean}
 */
function validIdCard(ID) {
    const reg = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;
    return reg.test(ID)
}

后面想起來什么寫什么。大致會是VUE方向。希望支持!

  • 本人博客地址:https://reinness.com 站點名稱:平凡的你我。 歡迎大家的到來!
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容