validate.js(代码如下)
export const checkVaild = (str, type) => { switch (type) { case 'phone': // 手机号 return /^1[0-9][0-9]{9}$/.test(str) case 'tel': // 座机 return /^(0d{2,3}-d{7,8}(-d{1,4})?$)/.test(str) case 'card': // 身份证 return /(^d{15}$)|(^d{18}$)|(^d{17}(d|X|x)$)/.test(str) case 'pwd': // 密码以字母开头,长度在6~20之间,包含大、小字母、数字 return /^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{6,20}$/.test(str) // return /^(?![0-9]+$)(?![A-Z]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/.test(str) case 'postal': // 邮政编码 return /[1-9]d{5}(?!d)/.test(str) case 'QQ': // QQ号 return /^[1-9][0-9]{4,9}$/.test(str) case 'email': // 邮箱 return /^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$/.test(str) case 'money': // 金额(小数点2位) return /^d*(?:.d{0,2})?$/.test(str) case 'URL': // 网址 return /(http|ftp|https)://[w-_]+(.[w-_]+)+([w-.,@?^=%&:/~+#]*[w-@?^=%&/~+#])?/.test(str) case 'IP': // IP return /((?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d))/.test(str) case 'date': // 日期时间 return /^(d{4})-(d{2})-(d{2}) (d{2})(?::d{2}|:(d{2}):(d{2}))$/.test(str) || /^(d{4})-(d{2})-(d{2})$/.test(str) case 'number': // 数字 return /^[0-9]$/.test(str) case 'positiveInteger': // 正整数 return /^[1-9]d*$/.test(str) case 'price': // 价格 return /(^[1-9]d*(.d{1,2})?$)|(^0(.d{1,2})?$)/.test(str) // 价格非0则去掉'?' case 'english': // 英文 return /^[a-zA-Z]+$/.test(str) case 'chinese': // 中文 return /^[u4E00-u9FA5]+$/.test(str) case 'lower': // 小写 return /^[a-z]+$/.test(str) case 'upper': // 大写 return /^[A-Z]+$/.test(str) case 'HTML': // HTML标记 return /<("[^"]*"|'[^']*'|[^'">])*>/.test(str) default: return true } }
使用方法:页面引入该正则文件
import {checkVaild} from '@/***/validate.js' let url = 'www.baidu.com' let res= checkVaild(url, "URL") if(res){ console.log('url正确') }else{ console.log('url有误') }