util里建个validate.js文件
内容
/*** Created by PanJiaChen on 16/11/18.*//*** @param {string} path* @returns {Boolean}*/
export function isExternal(path) {return /^(https?:|mailto:|tel:)/.test(path)
}/*** @param {string} str* @returns {Boolean}*/
export function validUsername(str) {const valid_map = ['admin', 'editor']return valid_map.indexOf(str.trim()) >= 0
}/*** @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)
}/*** 邮箱* @param {*} s*/
export function isEmail(s) {return /^([a-zA-Z0-9._-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
}/*** 手机号码* @param {*} s*/
export function isMobile(s) {return /^1[0-9]{10}$/.test(s)
}/*** 电话号码* @param {*} s*/
export function isPhone(s) {return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
}/*** URL地址* @param {*} s*/
export function isURL(s) {return /^http[s]?:\/\/.*/.test(s)
}export function isNotNull(s) {if (s !== '' && s !== null && s !== undefined) {return true} else {return false}
}// 参数说明:
// number:要格式化的数字
// decimals:保留几位小数
// dec_point:小数点符号
// thousands_sep:千分位符号
// 最多保留两位不足两位进行补位,输入小数位大于两位截取两位并进位
export function number_format(number, decimals, dec_point, thousands_sep) {number = (number + '').replace(/[^0-9+-Ee.]/g, '')var n = !isFinite(+number) ? 0 : +numbervar prec = !isFinite(+decimals) ? 2 : Math.abs(decimals)var sep = (typeof thousands_sep === 'undefined') ? '' : thousands_sepvar dec = (typeof dec_point === 'undefined') ? '.' : dec_pointvar s = ''var toFixedFix = function(n, prec) {var k = Math.pow(10, prec)return '' + Math.ceil(n * k) / k}s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.')var re = /(-?\d+)(\d{3})/if ((s[1] || '').length < prec) {s[1] = s[1] || ''s[1] += new Array(prec - s[1].length + 1).join('0')}return s.join(dec)
}
// 最多输入两位小数
export function number2(value) {return value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')
}
// 手机号
export function checkPhone(s) {return /^1(3|4|5|6|7|8|9)[0-9]{9}$/.test(s)
}
// 手机号&座机号
export function checkTelphone(s) {if (!(/^((0\d{2,3})-)?(\d{7,8})(-(\d{3,4}))?$/.test(s)) && !(/^1[345789]\d{9}$/.test(s))) {return false}return true
}
// 身份证
export function isCardNo(s) {return /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/.test(s)
}// 去除空格
export function trim1(str) {var resultif (str) {// result = str.replace(/(^\s+)|(\s+$)/g,""); 去除字符串前后空格result = str.replace(/\s/g, '') // 去除字符串全部空格}return result || ''
}