zoukankan      html  css  js  c++  java
  • JS中使用正则表达式封装的一些常用的格式验证的方法-是否外部url、是否小写、邮箱格式、是否字符、是否数组

    场景

    在vue页面中需要对一些变量或者属性进行判断等。

    所以讲这些js方法抽离出来一个公共的验证的方法。

    注:

    博客:
    https://blog.csdn.net/badao_liumang_qizhi
    关注公众号
    霸道的程序猿
    获取编程相关电子书、教程推送与免费下载。

    实现

    在项目下新建utils目录,在此目录下新建validate.js

    /**
     * @param {string} path
     * @returns {Boolean}
     */
    export function isExternal(path) {
      return /^(https?:|mailto:|tel:)/.test(path)
    }
    
    
    /**
     * @param {string} url
     * @returns {Boolean}
     */
    export 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)
    }
    
    /**
     * @param {string} str
     * @returns {Boolean}
     */
    export function validLowerCase(str) {
      const reg = /^[a-z]+$/
      return reg.test(str)
    }
    
    /**
     * @param {string} str
     * @returns {Boolean}
     */
    export function validUpperCase(str) {
      const reg = /^[A-Z]+$/
      return reg.test(str)
    }
    
    /**
     * @param {string} str
     * @returns {Boolean}
     */
    export function validAlphabets(str) {
      const reg = /^[A-Za-z]+$/
      return reg.test(str)
    }
    
    /**
     * @param {string} email
     * @returns {Boolean}
     */
    export 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)
    }
    
    /**
     * @param {string} str
     * @returns {Boolean}
     */
    export function isString(str) {
      if (typeof str === 'string' || str instanceof String) {
        return true
      }
      return false
    }
    
    /**
     * @param {Array} arg
     * @returns {Boolean}
     */
    export function isArray(arg) {
      if (typeof Array.isArray === 'undefined') {
        return Object.prototype.toString.call(arg) === '[object Array]'
      }
      return Array.isArray(arg)
    }

    然后在需要用到这些js的方法的vue页面中

    import { isExternal } from '@/utils/validate'

    比如这里需要调用isExternale这个方法,引入后就可以

        isExternal() {
          return isExternal(this.iconClass)
        },

    来调用了。

    博客园: https://www.cnblogs.com/badaoliumangqizhi/ 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。
  • 相关阅读:
    2019牛客暑期多校训练营(第七场)
    2019 Multi-University Training Contest 6
    2019 Multi-University Training Contest 5
    SDU暑期集训排位(4)
    2019牛客暑期多校训练营(第六场)
    poj3252 Round Numbers(数位dp)
    hdu3555 Bomb(数位dp)
    BM求线性递推模板(杜教版)
    hdu3746 Cyclic Nacklace(kmp)
    kmp next数组的模板
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/13595104.html
Copyright © 2011-2022 走看看