日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

JS使用正則表達式實現常用的表單驗證功能分析

瀏覽:163日期:2024-05-10 14:45:00

本文實例講述了JS使用正則表達式實現常用的表單驗證功能。分享給大家供大家參考,具體如下:

表單驗證是一個網站或應用的重點,一條合適的錯誤提示不僅可以減少無效信息錄入,更會給用戶留下良好的使用體驗。但表單設計千差萬別,用戶輸入更不可控。一方面,我們要減少出錯提示(這會引起用戶反感),而另一方面,我們則希望得到足夠多的有效信息。魚和熊掌如何兼得?

寫一個簡單的表單驗證:https://www.jb51.net/article/185782.htm

從Google中,我們可以找到一些實用的方法:

設計合適的提示信息; 正則表達式篩選錯誤輸入。

如何將錯誤信息合適的展示給用戶,我想是見仁見智,需要根據具體項目具體分析(參考淘寶、京東等電商設計)。這里主要討論第二種方案:通過正則表達式最大限度的過濾用戶輸入

這里先列出我自己常用的正則表達式,然后在深入全面的學習它!

常用正則表達式

文本輸入(拒絕表情):/^[u4e00-u9fa5w]+.*$/gi

密碼: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/

中文地址(以中文開始,包含英文字符、數字、括號):/^([u4e00-u9fa5])+[u4e00-u9fa5a-zA-Z0-9()()]*$/

身份證:/^d{6}(18|19|20)?d{2}(0[1-9]|1[12])(0[1-9]|[12]d|3[01])d{3}(d|X)$/i

電子郵箱:/^[A-Za-z0-9u4e00-u9fa5]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/

傳真:/^(d{3,4}-)?d{7,8}$/

網址:/^([hH][tT]{2}[pP]://|[hH][tT]{2}[pP][sS]://)*(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~/])+$/

座機:/^((d{3,4})|d{3,4}-|s)?d{7,14}$/

手機:/^1[34578]d{9}$/

郵編:/^[1-9][0-9]{5}$/

通用驗證信息提示函數

/** * @param {Object} $input 需要驗證的輸入項 * @param {String} reg 正則表達式 * @param {String} tips 提示信息 */ function isInfoValid($input, reg, tips) { var val = $input.val().trim(); if(val == ’’) { $input.next().remove(); $input.after(’<span class='valid-error'>*’+$input.siblings('label').text().trim()+’不能為空!<span>’) } else if(reg && tips && !reg.test(val)) { $input.next().remove(); $input.after(’<span class='valid-error'>’+ tips +’</span>’) }else { $input.next().remove(); } } // 可以這樣使用 isInfoValid($zipCode, /^[1-9][0-9]{5}$/, ’*請輸入正確的郵編!’);深入學習正則表達式1. RegExp對象

有兩種方法實例化RegExp對象

字面量

var reg = /bisb/g; // 全局匹配單詞is

構造函數

var reg = new RegEXP(’bisb’,g)

2. 修飾符

g:global全文搜索,不添加,搜索到第一個匹配停止 默認false,只讀

i:ignore case 忽略大小寫, 默認false,只讀

m:multiple lines 多行搜索 默認false,只讀

lastIndex: 是當前表達式匹配內容的最后一個字符的下一個位置

source:正則表達式的文本字符串

> var reg1 = /w/gim;> reg1.source< 'w' 3. 元字符

正則表達式由兩種基本字符類型組成:

原義文本字符

a,b,c,d..

元字符

*+?$ ^ . | ( ){ } [ ]

t水平制表符 v垂直制表符 n換行符 r回車符 0空字符 f換頁符 4. 字符類 我們可以使用元字符 [] 來構建一個簡單的類

所謂類是指符合某些特征的對象,一個泛指,不是特指某個字符

表達式[abc]把字符a或b或c歸為一類,表達式可以匹配這類字符

字符取反(^)

使用元字符 ^ 創建反向類

表達式[^abc] 表示 不是字符a或b或c的內容

5. 范圍類

使用[a-z]來連接兩個字符表示從a到z的任意字符,閉區間,包含a 和 z 本身

> ’a1b2c3b4’.replace(/[a-z]/g, ’Q’);< 'Q1Q2Q3Q4'

范圍類可以連寫 [a-zA-Z]

> ’2015-11-5’.replace(/[0-9-]/g, ’A’)< 'AAAAAAAAA' 6.預定義類及邊界6.1 預定義類 字符 等價類 含義 . [^rn] 除了回車符和換行符以外的所有字符 d [0-9] 數字字符 D [^0-9] 非數字字符 s [tnx0Bfr] 空白字符 w [a-zA-Z_0-9] 單詞字符(字母數字下劃線) W [^a-zA-Z0-9_] 非單詞字符 6.2 邊界 字符 含義 ^ 以XXXXX開始 $ 以xxxx結束 b 單詞邊界 B 非單詞邊界 7. 量詞 字符 含義 ? 出現零次或一次(最多出現1次) + 出現一次或多次 * 出現零次或多次(任意 {n} 出現n次 {n,m} 出現n到m次 {n,} 至少出現n次 8.貪婪模式與非貪婪模式8.1 貪婪模式

在正則表達式中,默認盡可能多的匹配

> ’1234678’.replace(/d{3,6}/g, ’X’)< 'X78'8.2 非貪婪模式

讓正則表達誰盡可能少的匹配,也就是說一旦成功匹配就不再繼續嘗試

做法很簡單,在量詞后面加一個 ?即可

> ’123456789’.match(/d{3,5}?/g)< ['123','456','789']9. 分組9.1 分組

使用 ()可以達到分組的功能,使量詞作用于分組

> ’fayfayfayfsd’.replace(/(fay){3}/g, ’X’)< 'Xfsd'9.2 或

使用 | 表示 或

> ’ByronCasper’.replace(/Byron|Casper/g, ’X’)< 'XX'9.3 $引用,捕獲分組 注意: 一定要加(),用$捕獲分組

> ’2016-11-05’.replace(/(d{4})-(d{2})-(d{2})/g,’$2-$3-$1’)< '05-11-2016'

忽略分組

不希望捕獲某些分組,只需要在分組內加上 ?:

(?:Byron).(ok)

PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:

JavaScript正則表達式在線測試工具:http://tools.jb51.net/regex/javascript

正則表達式在線生成工具:http://tools.jb51.net/regex/create_reg

更多關于jQuery相關內容可查看本站專題:《jQuery正則表達式用法總結》、《jQuery字符串操作技巧總結》、《jQuery操作xml技巧總結》、《jQuery擴展技巧總結》、《jquery選擇器用法總結》及《jQuery常用插件及用法總結》

希望本文所述對大家jQuery程序設計有所幫助。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久不卡日韩美女| 91成人精品| 亚洲精品激情| 亚洲少妇在线| 日韩视频在线一区二区三区 | 国产精品2023| 国产日产精品_国产精品毛片 | 日韩精品成人| 久久精品99久久久| 国产精品1区| 久久99久久人婷婷精品综合| 国产极品一区| 国产成人久久| 播放一区二区| 久久久久亚洲| 日韩视频一区| 日韩三区四区| 国产欧美久久一区二区三区| 国产精品一区二区av交换| 国产精品成人**免费视频 | 色黄视频在线观看| 久久婷婷亚洲| 一区二区亚洲精品| 中文精品电影| 国产精品久久久久久久久久齐齐 | 日本亚洲视频在线| 国产精品调教视频| 中文在线中文资源| 国产亚洲亚洲| 欧美日韩18| 最新中文字幕在线播放| 激情综合网站| 四虎精品一区二区免费| 麻豆91精品视频| 日韩欧美一区二区三区免费看| aa国产精品| 欧美一区=区三区| 国产一区二区三区四区五区传媒| sm久久捆绑调教精品一区| 久久中文亚洲字幕| 午夜精品福利影院| 精品久久久网| 中文久久精品| 国产经典一区| 午夜国产精品视频| 欧美偷窥清纯综合图区| 不卡专区在线| 免费日本视频一区| 久久一区国产| 99热免费精品| 国产精品porn| 亚洲欧美日韩高清在线| 国产精选一区| 精品一区免费| 亚洲精品韩国| 久久99高清| 性一交一乱一区二区洋洋av| 欧美国产免费| 欧美日韩国产在线一区| 国产精品久久久久av蜜臀 | 女主播福利一区| 久久久久久亚洲精品美女| 午夜在线视频观看日韩17c| 福利片在线一区二区| 日韩黄色在线观看| 99riav1国产精品视频| 91视频一区| 日韩精品国产精品| 影院欧美亚洲| av一区在线| 麻豆精品在线| 青青伊人久久| 丝袜美腿亚洲色图| 亚洲高清久久| а√天堂8资源在线| 久久国产精品免费精品3p| 日本美女一区| 日韩综合一区二区| 欧美另类专区| 久久三级毛片| 91大神在线观看线路一区| 欧美日韩精品免费观看视完整 | 欧美日韩高清| 国产午夜精品一区在线观看| 欧美日韩视频免费观看| 视频一区中文字幕国产| 欧美日韩尤物久久| 日韩国产在线一| 久久蜜桃资源一区二区老牛| 日本视频一区二区| 欧美网站在线| 精品国产网站| 亚洲精品一二三**| 日本久久精品| 国产精成人品2018| 99riav国产精品| 丁香婷婷久久| 日韩av中文在线观看| 久久一区二区三区电影| 久久不见久久见中文字幕免费| 美女亚洲一区| 麻豆精品在线视频| 日本在线一区二区三区| 激情久久久久久| 久久男人av| 亚洲精品动态| 国产一区欧美| 91青青国产在线观看精品| 欧美亚洲一区二区三区| 日韩av网站在线观看| 亚洲第一区色| 色一区二区三区四区| 国产欧美午夜| 亚洲天堂av资源在线观看| 欧美激情另类| 国产精品免费99久久久| 视频一区在线视频| 日韩欧美三级| 精品国模一区二区三区| 精品理论电影在线| 91精品一区| 亚洲精品观看| 亚洲一区二区三区四区五区午夜 | 麻豆一区二区三区| 日韩精品欧美成人高清一区二区| 91精品高清| 欧洲av不卡| 欧美www视频在线观看| 国产精品白丝久久av网站 | 欧美亚洲日本精品| 精品亚洲免a| 欧美一级鲁丝片| 激情久久99| 奇米色欧美一区二区三区| 亚洲在线久久| 免播放器亚洲一区| 免费在线观看日韩欧美| 久久福利毛片| 中文精品视频| 亚洲一区二区三区四区五区午夜| 国产精品av一区二区| 精品国模一区二区三区| 国产网站在线| 超碰在线99| 国产精品成人a在线观看| 首页亚洲欧美制服丝腿| 日韩综合一区二区三区| 蜜桃视频第一区免费观看| 欧美色图一区| 欧美亚洲在线日韩| 欧美二区视频| 91高清一区| 国产精品日本| 欧美日韩亚洲一区二区三区在线| 91成人精品观看| 国产日韩亚洲| 美女久久99| 精品国产欧美日韩| 国产成人精选| 欧美日韩免费观看视频| 精品欠久久久中文字幕加勒比| 精品久久一区| 三级在线看中文字幕完整版| 精品美女久久| sm捆绑调教国产免费网站在线观看| 亚洲一级少妇| 日韩在线a电影| 亚洲精品美女| 奇米狠狠一区二区三区| 国产精品xxxav免费视频| 国产福利亚洲| 国产精品高颜值在线观看| 日韩视频网站在线观看| 极品日韩av| 中文字幕一区二区三区日韩精品| 日韩二区在线观看| 久久精品国产999大香线蕉 | 日韩中文字幕无砖| 99久久激情| 午夜一级久久| 欧美日韩 国产精品| 欧美日韩免费看片| 日韩视频中文| 日韩精品亚洲专区| 精品久久影院| 欧美精品羞羞答答| 日本成人中文字幕| 久久精品国产亚洲aⅴ| 国产一区三区在线播放| 亚洲一区二区免费看| 欧美日韩亚洲一区二区三区在线 | 亚洲精品乱码日韩| 麻豆精品99| 国产精品久久久久蜜臀| 亚洲精品日本| 福利一区二区三区视频在线观看| 国产精品97| 91成人在线网站| 亚洲播播91| 免费在线观看视频一区|