Vue---常用rules校驗(yàn)規(guī)則(實(shí)例代碼)

注:轉(zhuǎn)載自原文https://www.jb51.net/article/174246.htm

1、是否合法IP地址

export function validateIP(rule, value,callback) {

?if(value==''||value==undefined||value==null){

?callback();

?}else{

?const reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;

?if((!reg.test(value)) && value != '') {

?callback(newError('請(qǐng)輸入正確的IP地址'));

?} else{

?callback();

?}

?}

}

2、是否手機(jī)號(hào)碼或者固話(huà)?

export function validatePhoneTwo(rule, value, callback) {

?const reg = /^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/;;

?if(value == ''|| value == undefined || value == null) {

?callback();

?} else{

?if((!reg.test(value)) && value != '') {

?callback(newError('請(qǐng)輸入正確的電話(huà)號(hào)碼或者固話(huà)號(hào)碼'));

?} else{

?callback();

?}

?}

}

3、是否固話(huà)

export function validateTelphone(rule, value,callback) {

?const reg =/0\d{2,3}-\d{7,8}/;

?if(value==''||value==undefined||value==null){

?callback();

?}else{

?if((!reg.test(value)) && value != '') {

?callback(newError('請(qǐng)輸入正確的固定電話(huà))'));

?} else{

?callback();

?}

?}

}

4、是否手機(jī)號(hào)碼

export function validatePhone(rule, value,callback) {

?const reg =/^[1][3-9][0-9]{9}$/;

?if(value==''||value==undefined||value==null){

?callback();

?}else{

?if((!reg.test(value)) && value != '') {

?callback(newError('請(qǐng)輸入正確的電話(huà)號(hào)碼'));

?} else{

?callback();

?}

?}

}

5、是否身份證號(hào)碼?

export function validateIdNo(rule, value,callback) {

?const reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;

?if(value==''||value==undefined||value==null){

?callback();

?}else{

?if((!reg.test(value)) && value != '') {

?callback(newError('請(qǐng)輸入正確的身份證號(hào)碼'));

?} else{

?callback();

?}

?}

}

6、是否郵箱?

export function validateEMail(rule, value,callback) {

?const reg =/^([a-zA-Z0-9]+[-_\.]?)+@[a-zA-Z0-9]+\.[a-z]+$/;

?if(value==''||value==undefined||value==null){

?callback();

?}else{

?if(!reg.test(value)){

?callback(newError('請(qǐng)輸入正確的郵箱'));

?} else{

?callback();

?}

?}

}

7、合法url

export function validateURL(url) {

?const urlregex = /^(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.,?'\\+&%$#=~_-]+))*$/;

?returnurlregex.test(url);

}

8、驗(yàn)證內(nèi)容是否包含英文數(shù)字以及下劃線

export function isPassword(rule, value, callback) {

?const reg =/^[_a-zA-Z0-9]+$/;

?if(value==''||value==undefined||value==null){

?callback();

?} else{

?if(!reg.test(value)){

?callback(newError('僅由英文字母,數(shù)字以及下劃線組成'));

?} else{

?callback();

?}

?}

}

9、自動(dòng)檢驗(yàn)數(shù)值的范圍

export function checkMax20000(rule, value, callback) {

?if(value == ''|| value == undefined || value == null) {

?callback();

?} elseif(!Number(value)) {

?callback(newError('請(qǐng)輸入[1,20000]之間的數(shù)字'));

?} elseif(value < 1 || value > 20000) {

?callback(newError('請(qǐng)輸入[1,20000]之間的數(shù)字'));

?} else{

?callback();

?}

}

10、驗(yàn)證數(shù)字輸入框最大數(shù)值

export function checkMaxVal(rule, value,callback) {

?if(value < 0 || value > 最大值) {

?callback(newError('請(qǐng)輸入[0,最大值]之間的數(shù)字'));

?} else{

?callback();

?}

}

11、驗(yàn)證是否1-99之間

export function isOneToNinetyNine(rule, value, callback) {

?if(!value) {

?returncallback(newError('輸入不可以為空'));

?}

?setTimeout(() => {

?if(!Number(value)) {

?callback(newError('請(qǐng)輸入正整數(shù)'));

?} else{

?const re = /^[1-9][0-9]{0,1}$/;

?const rsCheck = re.test(value);

?if(!rsCheck) {

?callback(newError('請(qǐng)輸入正整數(shù),值為【1,99】'));

?} else{

?callback();

?}

?}

?}, 0);

}

12、驗(yàn)證是否整數(shù)

export function isInteger(rule, value, callback) {

?if(!value) {

?returncallback(newError('輸入不可以為空'));

?}

?setTimeout(() => {

?if(!Number(value)) {

??callback(newError('請(qǐng)輸入正整數(shù)'));

?} else{

??const re = /^[0-9]*[1-9][0-9]*$/;

??const rsCheck = re.test(value);

??if(!rsCheck) {

??callback(newError('請(qǐng)輸入正整數(shù)'));

??} else{

??callback();

??}

?}

?}, 0);

}

13、驗(yàn)證是否整數(shù),非必填

export function isIntegerNotMust(rule, value, callback) {

?if(!value) {

?callback();

?}

?setTimeout(() => {

?if(!Number(value)) {

??callback(newError('請(qǐng)輸入正整數(shù)'));

?} else{

??const re = /^[0-9]*[1-9][0-9]*$/;

??const rsCheck = re.test(value);

??if(!rsCheck) {

??callback(newError('請(qǐng)輸入正整數(shù)'));

??} else{

??callback();

??}

?}

?}, 1000);

}

14、 驗(yàn)證是否是[0-1]的小數(shù)

export function isDecimal(rule, value, callback) {

?if(!value) {

?returncallback(newError('輸入不可以為空'));

?}

?setTimeout(() => {

?if(!Number(value)) {

??callback(newError('請(qǐng)輸入[0,1]之間的數(shù)字'));

?} else{

??if(value < 0 || value > 1) {

??callback(newError('請(qǐng)輸入[0,1]之間的數(shù)字'));

??} else{

??callback();

??}

?}

?}, 100);

}

15、 驗(yàn)證是否是[1-10]的小數(shù),即不可以等于0

export function isBtnOneToTen(rule, value, callback) {

?if(typeofvalue == 'undefined') {

?returncallback(newError('輸入不可以為空'));

?}

?setTimeout(() => {

?if(!Number(value)) {

??callback(newError('請(qǐng)輸入正整數(shù),值為[1,10]'));

?} else{

??if(!(value == '1'|| value == '2'|| value == '3'|| value == '4'|| value == '5'|| value == '6'|| value == '7'|| value == '8'|| value == '9'|| value == '10')) {

??callback(newError('請(qǐng)輸入正整數(shù),值為[1,10]'));

??} else{

??callback();

??}

?}

?}, 100);

}

16、驗(yàn)證是否是[1-100]的小數(shù),即不可以等于0

export function isBtnOneToHundred(rule, value, callback) {

?if(!value) {

?returncallback(newError('輸入不可以為空'));

?}

?setTimeout(() => {

?if(!Number(value)) {

??callback(newError('請(qǐng)輸入整數(shù),值為[1,100]'));

?} else{

??if(value < 1 || value > 100) {

??callback(newError('請(qǐng)輸入整數(shù),值為[1,100]'));

??} else{

??callback();

??}

?}

?}, 100);

}

17、驗(yàn)證是否是[0-100]的小數(shù)

export function isBtnZeroToHundred(rule, value, callback) {

?if(!value) {

?returncallback(newError('輸入不可以為空'));

?}

?setTimeout(() => {

?if(!Number(value)) {

??callback(newError('請(qǐng)輸入[1,100]之間的數(shù)字'));

?} else{

??if(value < 0 || value > 100) {

??callback(newError('請(qǐng)輸入[1,100]之間的數(shù)字'));

??} else{

??callback();

??}

?}

?}, 100);

}

18、驗(yàn)證端口是否在[0,65535]之間

export function isPort(rule, value, callback) {

?if(!value) {

?returncallback(newError('輸入不可以為空'));

?}

?setTimeout(() => {

?if(value == ''|| typeof(value) == undefined) {

??callback(newError('請(qǐng)輸入端口值'));

?} else{

??const re = /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/;

??const rsCheck = re.test(value);

??if(!rsCheck) {

??callback(newError('請(qǐng)輸入在[0-65535]之間的端口值'));

??} else{

??callback();

??}

?}

?}, 100);

}

19、驗(yàn)證端口是否在[0,65535]之間,非必填,isMust表示是否必填

export function isCheckPort(rule, value, callback) {

?if(!value) {

?callback();

?}

?setTimeout(() => {

?if(value == ''|| typeof(value) == undefined) {

??//callback(new Error('請(qǐng)輸入端口值'));

?} else{

??const re = /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/;

??const rsCheck = re.test(value);

??if(!rsCheck) {

??callback(newError('請(qǐng)輸入在[0-65535]之間的端口值'));

??} else{

??callback();

??}

?}

?}, 100);

}

20、小寫(xiě)字母

export function validateLowerCase(val) {

?const reg = /^[a-z]+$/;

?returnreg.test(val);

}

22、兩位小數(shù)驗(yàn)證

const validateValidity = (rule, value, callback) => {

?if(!/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/.test(value)) {

?callback(newError('最多兩位小數(shù)!??!'));

?} else{

?callback();

?}

};

23、是否大寫(xiě)字母

export function validateUpperCase(val) {

?const reg = /^[A-Z]+$/;

?returnreg.test(val);

}

24、是否大小寫(xiě)字母

export function validatAlphabets(val) {

?const reg = /^[A-Za-z]+$/;

?returnreg.test(val);

}

25、密碼校驗(yàn)

export const validatePsdReg = (rule, value, callback) => {

?if(!value) {

?returncallback(newError('請(qǐng)輸入密碼'))

?}

?if(!/^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$)([^\u4e00-\u9fa5\s]){6,20}$/.test(value)) {

?callback(newError('請(qǐng)輸入6-20位英文字母、數(shù)字或者符號(hào)(除空格),且字母、數(shù)字和標(biāo)點(diǎn)符號(hào)至少包含兩種'))

?} else{

?callback()

?}

}

26、中文校驗(yàn)

export const validateContacts = (rule, value, callback) => {

?if(!value) {

?returncallback(newError('請(qǐng)輸入中文'))

?}

?if(!/^[\u0391-\uFFE5A-Za-z]+$/.test(value)) {

?callback(newError('不可輸入特殊字符'))

?} else{

?callback()

?}

}

27、身份證校驗(yàn)

export const ID = (rule, value, callback) => {

?if(!value) {

??returncallback(newError('身份證不能為空'))

?}

?if(! /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(value)) {

??callback(newError('請(qǐng)輸入正確的二代身份證號(hào)碼'))

?} else{

??callback()

?}

}

28、 賬號(hào)校驗(yàn)

export const validateCode = (rule, value, callback) => {

?if(!value) {

?returncallback(newError('請(qǐng)輸入賬號(hào)'))

?}

?if(!/^(?![0-9]*$)(?![a-zA-Z]*$)[a-zA-Z0-9]{6,20}$/.test(value)) {

?callback(newError('賬號(hào)必須為6-20位字母和數(shù)字組合'))

?} else{

?callback()

?}

}

29 、純數(shù)字校驗(yàn)

export const validateNumber = (rule, value, callback) => {

?let numberReg = /^\d+$|^\d+[.]?\d+$/

?if(value !== '') {

??if(!numberReg.test(value)) {

???callback(newError('請(qǐng)輸入數(shù)字'))

??} else{

???callback()

??}

?} else{

??callback(newError('請(qǐng)輸入值'))

?}

}

30、最多一位小數(shù)

const onePoint = (rule, value, callback) => {

?if(!/^[0-9]+([.]{1}[0-9]{1})?$/.test(value)) {

?callback(newError('最多一位小數(shù)?。?!'));

?} else{

?callback();

?}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容