/* <pre>
====================================================================
通用验证器
====================================================================</pre>
@auther
*/
/** 合法uri */
export function validateURL(textval) {
const urlregex = /^(https?|ftp|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]$/
return urlregex.test(textval)
}
/** 小写字母 */
export function validateLowerCase(str) {
const reg = /^[a-z]+$/
return reg.test(str)
}
/** 大写字母 */
export function validateUpperCase(str) {
const reg = /^[A-Z]+$/
return reg.test(str)
}
/** 大小写字母 */
export function validateAlphabets(str) {
const reg = /^[A-Za-z]+$/
return reg.test(str)
}
/**
* validate email
* @param email
* @returns {boolean}
*/
export function validateEmail(email) {
const re = /^(([^<>()[\]\\.,;:\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 re.test(email)
}
/**
* validate phone
* @param phone
* @returns {boolean}
*/
export function validatePhone(phone) {
const re = /^1(3|4|5|6|7|8|9)\d{9}$/
return re.test(phone)
}
/**
* 国际电话
* @param phone
* @returns {boolean}
*/
export function validatePhoneInternational(phone) {
const re =
/\+(9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)\W*\d\W*\d\W*\d\W*\d\W*\d\W*\d\W*\d\W*\d\W*(\d{1,2})$/
return re.test(phone)
}
/**
* validate password
* @param password
* @returns {boolean}
*/
export function validatePassword(password) {
var lengths = password.length //字符长度
var numbLetter = /^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*)/ //大小写字母数字
var Chinese = /[\u4E00-\u9FA5]/g //中文
var blank = /^\S+$/gi //空格
var special = /[`~()\-+=<>?:"{}|,\/;'\\[\]·~!¥……()——\-+={}|《》?:“”【】、;‘',。、]/im //禁止输入的特殊字符
var resultData = []
var text = null //显示文本
if (lengths < 6 || lengths > 16) {
resultData.push('密码位数为6-16位,是包含大小写字母和数字的组合')
}
if (!numbLetter.test(password) || Chinese.test(password)) {
resultData.push('密码是包含大小写字母和数字的组合')
}
if (!blank.test(password) || special.test(password)) {
resultData.push('密码中可使用的特殊字符 !@#$%^&*._')
}
if (resultData.length > 1) {
text = '密码位数为6-16位,包含大小写字母和数字的组合.可使用 字符!@#$%^&*._(不含空格)'
} else {
text = resultData[0]
}
return text
}
js中通用验证器(合法uri,大写、小写、大小写字母,email,phone,国际电话,password)
于 2022-11-17 13:46:02 首次发布