Vue 的身份證 手機號碼 電話號碼 郵箱等校驗
一、基本身份證 手機號碼等基本檢驗方式
/** * @desc 基於ElementUI Form rules 進行使用, 參考官方文件: http://element-cn.eleme.io/#/zh-CN/component/form [自定義校驗規則] * @example rules: { * ip: [ * {required: true, message: '請輸入矩陣IP', trigger: 'blur'}, * {validator: this.$rules.ipAddress, trigger: 'blur'} * ] * } * */ export const validater = { /** * 校驗 包括中文字、英文字母、數字和下劃線 * 登入賬號校驗 */ validateAccount(rule, value, callback) { let acount = /^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$/ if (value && (!(acount).test(value))) { callback(new Error('賬號不符合規範')) } else { callback() } }, /** * IP地址校驗 */ ipAddress(rule, value, callback) { if(value && "..." === value){ callback(new Error('請輸入IP地址')) }if (value && !(/((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))/).test(value)) { callback(new Error('IP地址不符合規範')) } else { callback() } }, /** * 手機號碼校驗 */ phoneNumber(rule, value, callback) { if (value && (!(/^[1][34578]\d{9}$/).test(value) || !(/^[1-9]\d*$/).test(value) || value.length !== 11)) { callback(new Error('手機號碼不符合規範')) } else { callback() } }, /** * 電話號碼校驗 */ telephoneNumber(rule, value, callback) { if (value && (!(/^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/).test(value))) { callback(new Error('電話號碼不符合規範')) } else { callback() } }, /** * 郵箱校驗 */ emailValue(rule, value, callback) { let temp = /^[\w.\-]
[email protected](?:[a-z0-9]+(?:-[a-z0-9]+)*\.)+[a-z]{2,3}$/ let tempOne = /^[A-Za-zd]+([-_.][A-Za-zd]+)*@([A-Za-zd]+[-.])+[A-Za-zd]{2,5}$/ if (value && (!(temp).test(value))) { callback(new Error('郵箱格式不符合規範')) } else { callback() } }, /** * 身份證號碼校驗 */ idCard(rule, value, callback) { if (value && (!(/\d{17}[\d|x]|\d{15}/).test(value) || (value.length !== 15 && value.length !== 18))) { callback(new Error('身份證號碼不符合規範')) } else { callback() } }, /** * 正整數校驗 */ integerP(rule, value, callback) { if (value && !(/^[1-9]\d*$/).test(value)) { callback(new Error('只能填寫正整數')) } else { callback() } }, /** * 負整數校驗 */ integerN(rule, value, callback) { if (value && !(/^-[1-9]\d*$/).test(value)) { callback(new Error('只能填寫負整數')) } else { callback() } }, /** * 英文字元校驗 */ enText(rule, value, callback) { // let a = '', // arr = value.split(" ") // for (let i = 0; i < arr.length; i++) { //刪除行內空格 // a += arr[i]; // } if (value && !(/^[A-Za-z]+$/).test(value)) { callback(new Error('只能填寫英文字元')) } else { callback() } }, /** * 中文字元英文字元校驗 */ ChEnText(rule, value, callback) { if (value && !(/^[A-Za-z0-9]+$/).test(value)) { callback(new Error('只能填寫數字和英文字元')) } else { callback() } }, /** * 中文字元校驗 */ cnText(rule, value, callback) { // let a = '', // arr = value.split(" ") // for (let i = 0; i < arr.length; i++) { //刪除行內空格 // a += arr[i]; // } if (value && (/[^\u4e00-\u9fa5]/).test(value)) { callback(new Error('只能填寫中文字元')) } else { callback() } }, /** * 只能輸入英文或者數字 */ enOrnunText (rule, value, callback) { if (value && !(/^[A-Za-z0-9]+$/).test(value)) { callback(new Error('只能填寫英文或者數字')) } else { callback() } }, /** * 20位數字國標編碼校驗,且為正整數 */ validateDeviceNo (rule, value, callback) { if (value && !(/^[1-9]\d*$/).test(value)) { callback(new Error('只能填寫正整數')) } else { if (!/^[0-9]{20}$/.test(value)) { callback(new Error('請輸入20位數字的編碼!')); } else { callback(); } } }, /** *校驗電腦Mac地址 *以xx-xx-xx-xx-xx-xx的形式輸入(xx為16進位制數字) */ validateMac (rule, value, callback) { let temp = /[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}-[A-Fa-f0-9]{2}/; if (!temp.test(value)) { callback(new Error('請輸入xx-xx-xx-xx-xx-xx形式的MAC地址!')); } else{ callback(); } }, /** * 校驗地址程式碼或者分組程式碼 */ validateCode (rule, value, callback) { let num = /^[1-9]\d*$/ if (value && !(num).test(value)) { callback(new Error('只能填寫正整數')) } else { let codeLen = value.toString().length console.log(codeLen) if(codeLen > 0 && codeLen % 3 !== 0){ callback(new Error('輸入的長度必須是3的倍數')) }else if(codeLen>18){ callback(new Error('輸入的長度不能超過18位,請重新輸入')) } else { callback() } } }, /** * 校驗字元長度 */ validateLength (rule, value, callback) { let codeLen = value.toString().length if(codeLen>18){ callback(new Error('輸入的長度不能超過20位,請重新輸入')) } }, /** * 數字 ,兩位 */ validateTwoNum (rule, value, callback) { let temp = /^[1-9]{2}$/; if (!temp.test(value)) { callback(new Error('請輸入兩位正整數!')); } else{ callback(); } }, /** * 校驗經度是否符合規範 * */ checkLongitude(rule, value, callback) { let longrg = /^(\-|\+)?(((\d|[1-9]\d|1[0-7]\d|0{1,3})\.\d{0,6})|(\d|[1-9]\d|1[0-7]\d|0{1,3})|180\.0{0,6}|180)$/; if(!longrg.test(value)){ callback(new Error('經度整數部分為0-180,小數部分為0到6位!')); } else { callback(); } }, /** * 校驗緯度是否符合規範 * */ checkLatitude(rule, value, callback) { var latreg = /^(\-|\+)?([0-8]?\d{1}\.\d{0,6}|90\.0{0,6}|[0-8]?\d{1}|90)$/; if(!latreg.test(value)){ callback(new Error('緯度整數部分為0-90,小數部分為0到6位!')); } else { callback(); } } }
二、詳細的身份校驗方式
/*比較詳細的身份證校驗*/ Vue.prototype.isIdCard = (idCard) =>{ let regIdCard=/^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/; if(regIdCard.test(idCard)){ if(idCard.length === 18){ let idCardWi = new Array( 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ); let idCardY = new Array( 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ); let idCardWiSum = 0 for(let i=0;i<17;i++){ idCardWiSum+=idCard.substring(i,i+1)*idCardWi[i]; } let idCardMod=idCardWiSum%11 let idCardLast=idCard.substring(17) if(idCardMod === 2){ if(idCardLast === "X"||idCardLast === "x"){ return true; }else{ Vue.prototype.$message.warning('身份證號碼錯誤!,請重新輸入') return false; } }else{ if(idCardLast === idCardY[idCardMod]){ return true; }else{ Vue.prototype.$message.warning('身份證號碼錯誤!,請重新輸入') return false; } } } }else{ Vue.prototype.$message.warning('身份證格式不正確!,請重新輸入') return false } }
三 、使用方式
/*使用方式*/
rules: {
mobilePhone: [
{required: true, message: '請輸入電話號碼', trigger: 'blur'},
{validator: this.$rules.phoneNumber, trigger: 'blur'}
],
cardId: [
{required: true, message: '請輸入電話號碼', trigger: 'blur'},
{validator: this.$rules.idCard, trigger: 'blur'}
]
},
簡單的部落格描述只是記錄自己的點點滴滴,若有不當的地方,歡迎指教,謝謝。
相關推薦
Vue 的身份證 手機號碼 電話號碼 郵箱等校驗
一、基本身份證 手機號碼等基本檢驗方式 /** * @desc 基於ElementUI Form rules 進行使用, 參考官方文件: http://element-cn.eleme.io/#/zh-CN/component/form [自定義校驗規則] * @e
java身份證號碼校驗、郵箱校驗、手機號碼/電話號碼校驗
i++ start exceptio span cas table mail pub sys import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.
JS 對輸入的姓名 手機號碼 郵箱做校驗
大寫字母 中間 一個 layer one 大小 hone add 開頭 這個方法你可以自己寫來直接用 也可以封裝到一個方法中 name=$(‘#nameAdd .tianjia_name‘).val(); function isCorrectname(name){ re
js如何獲取android手機的電話號碼和聯絡人,並且傳遞給PHP、Java後臺
一、使用cordova代替android和iso、xcode的開發和打包 這裡先說說個人站在web的角度對cordova的一些理解:對於獲取手機的一些原生資訊,如呼叫攝像頭、獲取聯絡人,共享地理位置等,我的第一反應就是肯定要用原生的語言去做,如果js指令碼
蘋果手機,電話號碼顯示為撥號超連結
最近工作當中,手機應用內嵌HTML5頁面,遇到一個問題,聯絡人的的電話號碼顯示在網頁上,安卓是 正常的,但是在ios中會出現如下現象: 頁面開啟,電話號碼顯示正常,但是在我的專案中,等那麼兩秒鐘,手機號碼會消失。利用chrome瀏覽器進行
jQuery正則:電話、身份證、郵箱簡單校驗
toast title 常用 輸入數據 存在 pan test mail col if (!(/^1[3,5,6,7,8,9]\d{9}$/).test(e.detail.value.data_phone)) { wx.showToast({
身份證號碼 出生年月 以及有效校驗位 正則表示式判斷
/** * 身份證號碼格式校驗 */ function isIdCardNo (str) { // 身份證號碼正則表示式 var rpIdcard = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; var l
Vue使用Element庫form表單提交校驗心得
Element是非常好用的前端PCui庫,但是有些樣式與產品給的需求有差別,這裡分享一下form表單校驗的心得。 Form 元件提供了表單驗證的功能,只需要通過 rules 屬性傳入約定的驗證規則,並將 Form-Item 的 prop 屬性設定為需校驗的欄位名即可。
郵箱合法性校驗(中軟國際機試)
題目描述 輸入一個電子郵箱地址字串,要求檢查這個郵箱地址是否合法。如果輸入的電子郵箱地址是合法的,輸出字串1,否則輸出字串0。 滿足如下條件被認為是合法的郵箱地址: 1、僅包含一個'@'字元 2、最後三個字元必須是'.com' 3、字
java郵箱格式校驗
@gmail.com @yahoo.com @msn.com @hotmail.com @aol.com @ask.com @live.com @qq.com @0355.net @163.com @163.net @263.net @3721.net @yeah.net @goo
三種檢視檔案MD5 SHA*等校驗值的方法
1、windows cmd命令(推薦) 方便,大小檔案都適合。注意路徑是相對於cmd所在目錄的相對路徑。 certutil -hashfile .\Fiddler.zip certutil -hashfile .\Fiddler.zip SHA1 c
email郵箱格式校驗
js校驗: var email= $('#email').val(); var email_reg=/^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$/; if(!email_reg.test(email)){ alert(
正則表達式匹配身份證 電話號碼 郵箱 住宅電話 郵編等
ext 大寫字母 nsh 辦理 regexp nbsp 新的 pat 中文 # -*- coding: utf-8 -*- import re tt1 = "13143567781" tt2=‘[email protected]‘ tt3=‘4110241945111
文字校驗的工具類--中文,電話號碼,郵箱,身份證等資訊的校驗
這是專案中常用的文字校驗的工具類,包括:中文,電話號碼,郵箱,身份證等資訊的校驗 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor
判斷郵箱,手機號碼,身份證,使用者名稱,暱稱等輸入格式是否正確的 正則表示式
//郵箱 + (BOOL) validateEmail:(NSString *)email { NSString *emailRegex = @"[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A
JS正則方法判斷郵箱號碼,手機號碼,電話號碼
第一種方法: var mobval=$('#mobile').val(); mobval=mobval.replace(/[ ]/g,""); //去掉所有空格 var isMob = /^
iOS webView textView禁止識別 電話號碼.郵箱等
<iframe id="iframeu2197232_0" src="http://pos.baidu.com/dcgm?rdid=2197232&dc=2&di=u2197232&dri=0&dis=0&dai=2&
正則表示式身份證、日期、電話號碼等
正則表示式 **身份證驗證: 方式一:只能判斷18位身份證:但是方法優於方法二** + (BOOL)checkIdentityCardNo:(NSString*)cardNo { if (
手機號碼、電子郵箱、身份證、銀行卡正則驗證
手機號碼:var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; 電子郵箱:/^[a-z0-9]+([._\-][a-z0-9])@([a-z0-9]+[-a-z0-9]*[a-z0
js手機號碼、電話號碼驗證
phone mob == reg 註意 () func var 而不是 function checkNum(){ var mobileReg = /^(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9])\d{8}$/i; var phoneRe