vue中的正則表達(dá)式校驗(yàn)、驗(yàn)證
vue正則表達(dá)式校驗(yàn)、驗(yàn)證
1.el-form表單校驗(yàn)
- el-form添加rules屬性,基礎(chǔ)用法見elementUI官網(wǎng);
- el-form添加rules屬性,通過正則表達(dá)式自定義校驗(yàn),用法如下:
?? ??? ?data() {
?? ??? ??? ?let validatorTelAndMobile = function (rule, value, callback) {
? ? ? ? ? ? ? if (!value) {
? ? ? ? ? ? ? ? return callback(new Error('請輸入聯(lián)系電話'));
? ? ? ? ? ? ? }
? ? ? ? ? ? ? let isTel = /^(0\d{2,3}-){0,1}\d{6,8}$/.test(value);
? ? ? ? ? ? ? let isMobile = /^1[34578]\d{9}$/.test(value);
? ? ? ? ? ? ? if (isTel || isMobile) {
? ? ? ? ? ? ? ? callback();
? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? callback(new Error('請輸入正確的聯(lián)系電話'));
? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? return {
? ? ? ? ? ? ?? ?rules:{
? ? ? ? ? ? ?? ??? ?telephone:[
? ? ? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? ? validator: validatorTelAndMobile, required: true, trigger: ['blur', 'change']
? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? ],
? ? ? ? ? ? ?? ?}
? ? ? ? ? ? }
?? ??? ?}el-form-item添加rules屬性(行內(nèi)校驗(yàn)),用法如下:
<el-form-item label="年齡:" prop="age" :rules="[{pattern: /^[0-9]*$/, message: '年齡只能為數(shù)字', trigger: 'blur'}]">
? ? <el-input v-model="user.age"></el-input>
</el-form-item>
?<el-form-item label="郵箱:" prop="email" :rules="{ required: true, message: '必須輸入郵箱', trigger: 'blur'}">
? ? ?<el-input v-model="newJgInfoXZ.nsdz"></el-input>
</el-form-item>2.純el-input標(biāo)簽內(nèi)校驗(yàn)
<el-input v-model="age" ?oninput ="value=value.replace(/[^0-9.]/g,'')"></el-input>
3.正則表達(dá)式在代碼中驗(yàn)證字符串
/^[0-9]+([.][0-9]{1,2})?$/.test(待驗(yàn)證的字符串或者數(shù)字)4.一些常用的正則表達(dá)式
10-32位數(shù)字或字母:----------/^[a-zA-Z0-9]{10,32}$/ ? ??
手機(jī)號:---------------------/^1[34578]\d{9}$/ ? ? ? ? ?
座機(jī)號:---------------------/^(0\d{2,3}-){0,1}\d{7,8}$/ ? ?
整數(shù):-----------------------/^[0-9]+$/ ? ? ? ? ?
不能包含中文:-----------------/^[^\u4e00-\u9fa5]+$/ ??
只能全是中文:-----------------/^[\u4e00-\u9fa5]+$/ ? ?
只能數(shù)字,且不能超過2位小數(shù):--/^[0-9]+([.][0-9]{1,2})?$/ ? ??
15或18位身份證號:------------/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ ? ?
士官證號,例如:軍字第2001988號:----/^[\u4E00-\u9FA5](字第)([0-9a-zA-Z]{4,8})(號?)$/ ?
3至21位戶口本號:------------------/^[a-zA-Z0-9]{3,21}$/ ? ??
15或者17或者18或者20位字母、數(shù)字組成:---/^[A-Z0-9]{15}$|^[A-Z0-9]{17}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$/ ?
至少12個字符,其中需包含大小寫字母,2位以上數(shù)字和2位以上符號-----/(?=.*?[A-Z].*?)(?=.*?[a-z].*?)(?=.*?[0-9].*?[0-9])(?=.*?[~!@#$%^&*()_+|<>,.?/:;'\[\]{}\"].*?[~!@#$%^&*()_+|<>,.?/:;'\[\]{}\"])^\S{12,}$/
郵箱:------------------------/^(([^<>()\[\]\\.,;:\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,}))$/ ? ?
2020/05/21格式日期:----------(/^[0-9]{4}\/[0-9]{1,2}\/[0-9]{1,2}$/
正數(shù) 大于等于0的整數(shù)或者小數(shù) ?>=0 float------/^[+]{0,1}(\d+)$|^[+]{0,1}(\d+\.\d+)$/
正數(shù) 大于0的整數(shù)或者小數(shù) ?>0 float----------/^[+]{0,1}[1-9][0-9]*$|^[+]{0,1}(\d+\.\d+)$/
正整數(shù) 大于等于0的整數(shù) >=0 int----------/^[+]{0,1}(\d+)$/
正整數(shù) 大于0的整數(shù) >0 int--------------/^\+?[1-9][0-9]*$/
0-300整數(shù)------------------------/^[0-9]$|^[0-9]{2}$|^[1,2][0-9]{2}$|^[3][0][0]$/
長度至少5,必須包含數(shù)字和大小寫(可以含特殊字符)-----/^(?=.*[0-9].*)(?=.*[A-Z].*)(?=.*[a-z].*).{5,}$/
長度至少5,必須包含數(shù)字和大小寫(不能含特殊字符)-----/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{5,}$/vue判斷是否是數(shù)字的正則表達(dá)式
判斷是否是數(shù)字的正則表達(dá)式
var numReg = /^[0-9]*$/
var numRe = new RegExp(numReg)
if (!numRe.test(number)) {
? this.$message({
? ? type: 'warning',
? ? message: '請輸入數(shù)字 ',
? ? duration: 10000,
? ? showClose: true,
? })
? return false
}總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue實(shí)戰(zhàn)之vue登錄驗(yàn)證的實(shí)現(xiàn)代碼
本篇文章主要介紹了Vue實(shí)戰(zhàn)之vue登錄的實(shí)現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10
Vue項(xiàng)目中Api的組織和返回?cái)?shù)據(jù)處理的操作
這篇文章主要介紹了Vue項(xiàng)目中Api的組織和返回?cái)?shù)據(jù)處理的操作,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11
詳解基于Vue/React項(xiàng)目的移動端適配方案
這篇文章主要介紹了詳解基于Vue/React項(xiàng)目的移動端適配方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
npm install報(bào)錯缺少python問題及解決
這篇文章主要介紹了npm install報(bào)錯缺少python問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
vue 組件 全局注冊和局部注冊的實(shí)現(xiàn)
下面小編就為大家分享一篇vue 組件 全局注冊和局部注冊的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
vite(vue3)配置內(nèi)網(wǎng)ip訪問的方法步驟
Vite是一個快速的構(gòu)建工具,Vue3是一個流行的JavaScript框架,下面這篇文章主要給大家介紹了關(guān)于vite(vue3)配置內(nèi)網(wǎng)ip訪問的方法步驟,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
vue-cli創(chuàng)建的項(xiàng)目中的gitHooks原理解析
這篇文章主要介紹了vue-cli創(chuàng)建的項(xiàng)目中的gitHooks原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02

