精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

手把手教你使用JavaScript實現表單驗證

開發 前端
在Web項目開發中,經常會看到表單驗證的功能。例如,用戶注冊、用戶登錄等,需要對用戶填寫的內容進行驗證。接下來,小編帶著大家一起來實現表單驗證的用戶名、密碼、性別、手機號碼、郵箱驗證的功能。

[[387172]]

一、前言

在Web項目開發中,經常會看到表單驗證的功能。例如,用戶注冊、用戶登錄等,需要對用戶填寫的內容進行驗證。接下來,小編帶著大家一起來實現表單驗證的用戶名、密碼、性別、手機號碼、郵箱驗證的功能。

二、項目準備

開發工具:HBuilderX

瀏覽器:Google Chrome瀏覽器

三、項目目標

1.了解什么是正則表達式。

2.掌握正則表達式的語法。

3.學會應用正則表達式。

四、項目實現

HTML

  1. <div class="box"
  2.             <div class="box-head"><h1>歡迎注冊</h1><p style="font-size: 15px;">已有賬號?<a href="#" style="color: #3366D4;">登錄</a></p></div> 
  3.             <div class="box-body"
  4.                 <form id="register" > 
  5.                     <table
  6.                         <tr> 
  7.                             <th>用戶名稱:</th> 
  8.                             <td> 
  9.                                 <input type="text" id="user" name="user" placeholder="長度4-12位,英文大小寫字母"
  10.                             </td> 
  11.                             <td> 
  12.                                 <div></div> 
  13.                             </td> 
  14.                         </tr> 
  15.                         <tr> 
  16.                             <th>密  碼:</th> 
  17.                             <td><input type="password" id="passWord" name="passWord" placeholder="長度6-20位,大小寫字母、數字或下劃線"></td> 
  18.                             <td> 
  19.                                 <div></div> 
  20.                             </td> 
  21.                         </tr> 
  22.                         <tr> 
  23.                             <th>確認密碼:</th> 
  24.                             <td><input type="password" id="repassWord" name="repassWord" placeholder="請再次輸入密碼進行確認"></td> 
  25.                             <td> 
  26.                                 <div></div> 
  27.                             </td> 
  28.                         </tr> 
  29.                         <tr> 
  30.                             <th>性  別:</th> 
  31.                             <td><input type="radio" id="Male" name="sex" value="1"/><label for="Male">男</label>   
  32.                                 <input type="radio" id="Female" name="sex" value="0"/><label for="Female">女</label></td> 
  33.                             <td> 
  34.                                 <div></div> 
  35.                             </td> 
  36.                         </tr> 
  37.                         <tr> 
  38.                             <th>手機號碼:</th> 
  39.                             <td><input type="text" id="telephone" name="telephone" placeholder="13、14、15、17、18開頭的11位手機號"></td> 
  40.                             <td> 
  41.                                 <div></div> 
  42.                             </td> 
  43.                         </tr> 
  44.                         <tr> 
  45.                             <th>電子郵箱:</th> 
  46.                             <td><input type="text" id="email" name="email" placeholder="用戶名@域名(域名后綴至少2個字符)"></td> 
  47.                             <td> 
  48.                                 <div></div> 
  49.                             </td> 
  50.                         </tr> 
  51.                     </table
  52.                     <div style="display: flex;justify-content: center;"
  53.                         <button type="submit" id="btn_ok">注冊</button> 
  54.                     </div> 
  55.                 </form> 
  56.             </div> 
  57.         </div> 

在上面代碼中,使用table標簽元素表示定義一個HTML表格,tr表示表格中的行,td表示表格中的列。name表示獲取對應文本的正則規則驗證,placeholder屬性表示提示信息。

JavaScript

1.添加事件

  1. // 獲取所有input框 
  2.         var inputs = document.getElementsByTagName('input'); 
  3.         // 為每個input框添加失去焦點事件 
  4.         for (var i = 0; i < inputs.length; i++) { 
  5.             inputs[i].onblur = inputBlur; 
  6.         } 

在上面代碼中,首先是獲取用戶注冊頁面所有的input元素,為每個input框添加失去焦點事件,利用for循環來添加事件處理函數inputBlur()。

2.寫inputBlur()事件處理函數,該函數主要用于獲取相應input元素的驗證規則和提示信息,用戶輸入的內容進行檢驗,之后,把檢驗的結果顯示在HTML頁面中,代碼如下所示:

  1. function inputBlur() { 
  2.             // 獲取輸入框的name值、value值、框中的提示信息 
  3.             var name = this.name;            
  4.             var val = this.value;  
  5.             var display = this.placeholder;    
  6.             var display_obj = this.parentNode.parentNode.children[2].children[0];  //顯示提示信息 
  7.             //去掉兩端空格 
  8.             val = val.trim(); 
  9.             //判斷內容為空,顯示提示信息 
  10.             if (!val) { 
  11.                 error(display_obj, '輸入框內容不能為空'); 
  12.                 return false
  13.             } 
  14.             //獲取正則匹配規則和提示信息 
  15.             var reg_msg = getRegMsg(name, display); 
  16.             //檢測是否正則匹配 
  17.             if (reg_msg['reg'].test(val)) { 
  18.                 // 匹配成功 
  19.                 success(display_obj, reg_msg['msg']['success']); 
  20.             } else { 
  21.                 // 匹配失敗 
  22.                 error(display_obj, reg_msg['msg']['error']); 
  23.             } 
  24.         } 

在上面代碼中,變量名name、val、tips分別是獲取input元素中的name、value、placeholder屬性的值。

變量名tips_obj用于當input元素失去焦點的時候,顯示提示信息。

val.trim()方法主要是用戶輸入內容中兩端空格。

getRegMsg()自定義函數用來獲取文本框中相對應的正則和提示信息。

test()方法用于獲取當前input框輸入的內容是否是正則匹配的模式,如果是則返回true,顯示驗證成功的信息。如果不是則返回false,顯示錯誤的信息。

3.編寫error()和success()函數分別用于驗證錯誤信息、成功信息

  1. // 成功 
  2.         function success(obj, msg) { 
  3.             obj.className = 'success'
  4.             obj.innerHTML = msg; 
  5.         } 
  6.  
  7.         // 失敗 
  8.         function error(obj, msg) { 
  9.             obj.className = 'error'
  10.             obj.innerHTML = msg + ',請重新輸入'
  11.         } 

在上面代碼中,obj參數表示顯示提示信息的元素對象,msg參數表示自定義的錯誤信息。

4.獲取驗證規則和提示信息getRegMsg()函數

項目分析

① 用戶名:長度4~12,英文大小寫字母。

正則:/^[a-zA-Z]{4,12}$/。

② 密碼:長度6~20,大小寫字母、數字或下劃線。

正則:/^.{6,20}$/。

③ 確認密碼:要求與密碼框一樣,且兩次輸入相同。

正則:RegExp(‘^’ + 密碼框的值 + '$')

④ 性別:

正則:/^[0-1]*$/。

⑤ 手機號碼:13、14、15、17、18開頭的11位手機號。

正則:/^1[34578]\d{9}$/。

⑥郵箱:用戶名@域名(域名后綴至少2個字符)。

正則:/^(\w+(_|-|.)*)+@(\w+(-)?)+(.\w{2,})+$/。

代碼如下所示:

  1. function getRegMsg(name, display) { 
  2.             var reg = msg = ''
  3.             switch (name) { 
  4.                 case 'user'
  5.                     reg = /^[a-zA-Z]{4,12}$/; 
  6.                     msg = {'success''用戶名輸入正確''error': display}; 
  7.                     break; 
  8.                 case 'passWord'
  9.                     reg = /^.{6,20}$/; 
  10.                     msg = {'success''密碼輸入正確''error': display}; 
  11.                     break; 
  12.                 case 'repassWord'
  13.                     var con = document.getElementsByTagName('input')[1].value; 
  14.                     reg = RegExp("^" + con + "$"); 
  15.                     msg = {'success''兩次密碼輸入正確''error''兩次輸入的密碼不一致'}; 
  16.                     break; 
  17.                 case 'sex'
  18.                     reg = /^[0-1]*$/; 
  19.                     msg = {'success''性別已選擇''error''性別不能為空'}; 
  20.                     break; 
  21.                 case 'telephone':  
  22.                     reg=/^1[34578]\d{9}$/; 
  23.                     msg = {'success''手機號碼輸入正確''error': display}; 
  24.                     break; 
  25.                 case 'email'
  26.                     reg = /^(\w+(\_|\-|\.)*)+@(\w+(\-)?)+(\.\w{2,})+$/; 
  27.                     msg = {'success''郵箱輸入正確''error': display}; 
  28.                     break; 
  29.             } 
  30.             return {'reg': reg, 'msg': msg}; 
  31.         } 

在上面代碼中, "/^[a-zA-Z]{4,12}$/"表示匹配只包含大小寫的英文字母;

"/^.{6,20}$/"表示匹配由大小寫英文字母、數字或下劃線長度在6-20范圍內;

"RegExp("^" + con + "$")"表示獲取用戶輸入的密碼,把它作為檢驗確認密碼是否正確的正則匹配模式;

" /^[0-1]*$/"表示數字1為男,數字0為女;

"/^1[34578]\d{9}$/"表示11位數的手機號碼,以1開頭,第二個數字可以是(3、4、5、7、8)其中的一個數字,剩下數字可以0-9之間任意數字;

"/^(\w+(_|-|.)*)+@(\w+(-)?)+(.\w{2,})+$/"表示匹配郵箱地址,它有三部分,分別是用戶名、”@“、郵箱域名。

效果圖如下所示:

 

本文案例參考《JavaScript前端開發案例教程》,黑馬程序員編著

五、總結

1.本文基于JavaScript基礎,實現表單驗證的功能。對每一個div層、table、tr、td標簽元素進行詳解,讓讀者更好的理解。

2.在JavaScript中首先是表單項添加失去焦點處理,事件處理函數為inputBlur()。該函數用于獲取表單name、value及提示信息后,去除空白后,若內容為空調用error()給出提示,否則進行驗證。

3.代碼沒有那么復雜,希望對你有所幫助!

 

責任編輯:姜華 來源: 前端進階學習交流
相關推薦

2025-05-07 00:31:30

2021-04-02 10:01:00

JavaScript前端Web項目

2021-07-14 09:00:00

JavaFX開發應用

2020-05-15 08:07:33

JWT登錄單點

2023-04-26 12:46:43

DockerSpringKubernetes

2022-12-07 08:42:35

2009-11-09 14:57:37

WCF上傳文件

2011-01-06 10:39:25

.NET程序打包

2021-08-02 07:35:19

Nacos配置中心namespace

2011-05-03 15:59:00

黑盒打印機

2011-01-10 14:41:26

2025-01-13 09:07:12

2022-02-17 10:26:17

JavaScript掃雷游戲前端

2011-04-21 10:32:44

MySQL雙機同步

2022-10-30 10:31:42

i2ccpuftrace

2021-12-15 08:49:21

gpio 子系統pinctrl 子系統API

2022-07-22 12:45:39

GNU

2021-01-19 09:06:21

MysqlDjango數據庫

2011-02-22 13:46:27

微軟SQL.NET

2021-02-26 11:54:38

MyBatis 插件接口
點贊
收藏

51CTO技術棧公眾號

av在线免费观看网| 日本少妇吞精囗交| 日韩一区二区三区四区五区| 国产精品色眯眯| 91香蕉电影院| 日本一区二区欧美| 精品久久电影| 欧美一区二区不卡视频| 亚洲熟妇无码av在线播放| 丰满肥臀噗嗤啊x99av| 国产欧美日韩一级| 宅男66日本亚洲欧美视频| 日韩 国产 一区| 国产三级电影在线播放| 中文字幕免费不卡在线| aaa级精品久久久国产片| 黄色av网站免费观看| 性欧美欧美巨大69| 日韩av资源在线播放| 欧美女同在线观看| 午夜不卡影院| 亚洲日本青草视频在线怡红院 | 干日本少妇视频| 色婷婷av一区二区三| 麻豆精品一区二区av白丝在线| 久久久久久91香蕉国产| 四虎成人免费影院| 美国十次av导航亚洲入口| 欧美喷水一区二区| 国产成人a亚洲精v品无码| v片在线观看| 国产亚洲成年网址在线观看| 99r国产精品视频| 中国a一片一级一片| 欧美视频一区| 精品国产一区二区三区久久| 一区二区黄色片| 久久夜色精品国产噜噜av小说| 5858s免费视频成人| 日本wwwcom| 久久精品视频观看| 国产欧美一区二区三区沐欲| 国产一区二区三区色淫影院| ,亚洲人成毛片在线播放| 久久久久国产精品一区三寸| 久久久久久网站| 午夜爱爱毛片xxxx视频免费看| 国产一区二区三区天码| 精品视频在线播放免| 天天躁日日躁狠狠躁av麻豆男男| 免费一级欧美在线大片 | av老司机久久| 麻豆成人久久精品二区三区红| 欧美在线观看视频| 日产电影一区二区三区| 午夜精品999| 久久精品99无色码中文字幕| 色欲AV无码精品一区二区久久 | 亚洲精品理论电影| 亚洲精品激情视频| 色妞ww精品视频7777| 欧美精品视频www在线观看 | 欧美性受xxxx黑人猛交88| 东凛在线观看| 国产女人水真多18毛片18精品视频 | 国产一级片91| av超碰免费在线| 伊人色综合久久天天| 国产一二三四五| 91麻豆国产福利在线观看宅福利| 亚洲欧洲国产日韩| 国产在线拍揄自揄拍无码| 高清免费电影在线观看| 亚洲精品你懂的| 久久免费视频2| 污视频在线免费观看网站| 亚洲精品视频在线观看网站| 国产真实老熟女无套内射| av丝袜在线| 黑人精品xxx一区一二区| 已婚少妇美妙人妻系列| 看片一区二区| 欧美一二三区在线观看| 天堂www中文在线资源| 欧美大奶一区二区| 亚洲天堂视频在线观看| 天堂网av2018| 欧美精品日本| 欧美有码在线观看视频| 在线免费观看一区二区| 国产成人丝袜美腿| 麻豆久久久av免费| 美女国产在线| 天天综合日日夜夜精品| 黄色高清无遮挡| 亚洲影视资源| 亚洲国产日韩一区| 久久精品老司机| 99热国内精品| 91国产精品电影| 成人黄色片在线观看| 国产精品自在在线| 国产成人精品日本亚洲11| 青青草在线视频免费观看| 国产精品青草久久| 丁香花在线影院观看在线播放| 日韩国产激情| 欧美一区二区高清| 熟女俱乐部一区二区视频在线| 亚洲xxx拳头交| 91精品国产高清自在线看超| 91亚洲国产成人久久精品麻豆| www.一区二区| 中文字幕久精品免| a一区二区三区| 91精品国产综合久久精品 | 欧美韩一区二区| 中日韩美女免费视频网址在线观看 | 午夜久久久精品| 国产精品17p| 色视频www在线播放国产成人 | 欧美三级午夜理伦三级中视频| 国产人妻精品午夜福利免费| 久久成人综合| 欧美重口另类videos人妖| 精品国产亚洲av麻豆| 国产欧美精品一区| 97在线播放视频| 成人另类视频| 精品少妇一区二区30p| www.com亚洲| 91视频在线观看免费| 成人在线免费观看视频网站| 日本在线视频一区二区| 日韩精品中文在线观看| 久久久久久国产精品视频 | 欧美性高潮在线| 香蕉久久久久久av成人| 欧美激情偷拍自拍| 国产精品久久久久久久久影视| 亚洲色图欧美视频| 亚洲午夜久久久久久久久电影网 | 久久久精品人体av艺术| 国产 日韩 亚洲 欧美| 午夜视频在线观看精品中文| 久久精品91久久久久久再现| 亚洲天堂中文网| 国产人妖乱国产精品人妖| 欧美日韩亚洲一| 欧美黄色网视频| 国产91|九色| 视频三区在线观看| 婷婷中文字幕综合| 欧美在线一级片| av不卡在线| 精品一卡二卡三卡四卡日本乱码 | 在线亚洲+欧美+日本专区| 久久久久亚洲av无码专区桃色| 亚洲经典三级| 久久九九视频| 中文字幕在线直播| 亚洲男人天堂2023| 成人午夜视频在线播放| 久久嫩草精品久久久精品| 99蜜桃臀久久久欧美精品网站| 日韩欧美天堂| 国产成人97精品免费看片| 你懂的在线播放| 欧美性色黄大片| 日韩黄色中文字幕| 久久99热这里只有精品| 国产手机视频在线观看| av不卡一区二区| 97视频在线观看播放| 日韩欧美亚洲系列| 欧美午夜片在线看| 91高清免费看| 成人久久久精品乱码一区二区三区| 亚洲理论电影在线观看| 特黄特色欧美大片| 国产精品伦子伦免费视频| 理论片午午伦夜理片在线播放| 日韩一级二级三级| 日韩欧美a级片| 国产欧美精品一区二区色综合 | 91蝌蚪porny| 婷婷丁香激情网| 欧美福利专区| 久久久久无码国产精品一区| 视频精品导航| 色综合久久精品亚洲国产| 天天干视频在线观看| 欧美唯美清纯偷拍| 青娱乐免费在线视频| 久久婷婷综合激情| 成年人三级黄色片| 亚洲成人原创| 亚洲蜜桃在线| 成人中文字幕视频| 国产精品视频xxx| 欧美v亚洲v| 亚洲性视频网址| 99视频免费看| 在线观看日韩av先锋影音电影院| 久草手机视频在线观看| 成人免费视频网站在线观看| 精品少妇无遮挡毛片| 伊人成人网在线看| 性欧美videosex高清少妇| 亚洲综合网狠久久| 国产精品视频一区国模私拍| missav|免费高清av在线看| 在线精品国产欧美| 婷婷在线观看视频| 欧美一区三区四区| 成年人视频免费| 亚洲第一激情av| av成人免费网站| 久久精品视频免费观看| 久草免费资源站| 韩国精品一区二区| 无码人妻精品一区二区三区66| 欧美日韩1区2区3区| 艳色歌舞团一区二区三区| 天天躁日日躁狠狠躁欧美| 91黄色国产视频| 黑人一区二区三区| 欧美一级大片在线免费观看| 性欧美ⅴideo另类hd| 自拍亚洲一区欧美另类| 欧美美女搞黄| 亚洲精品一区久久久久久| 亚洲成a人片在线| 7777精品伊人久久久大香线蕉完整版 | 一区在线视频| 国产青草视频在线观看| 91高清一区| 一区二区视频在线播放| 国产在线观看91一区二区三区 | 国产女人在线观看| 日韩国产在线播放| 香蕉视频国产在线| 亚洲黄色www| 国模人体一区二区| 精品日韩在线一区| 性欧美videos另类hd| 日韩一级大片在线观看| 国产999久久久| 欧美一区二区三区在线看| 一区二区三区免费观看视频| 欧美日韩精品一区二区在线播放| 好吊色在线视频| 色婷婷激情久久| 无码人妻熟妇av又粗又大| 一本色道综合亚洲| 蜜臀99久久精品久久久久小说| 一本色道久久综合精品竹菊| 日韩黄色片网站| 欧美特级限制片免费在线观看| 欧美性受xxx黑人xyx性爽| 在线免费亚洲电影| 伊人色综合久久久| 91精品国产综合久久婷婷香蕉 | а√天堂资源国产精品| 国产精品丝袜高跟| 国产午夜精品一区在线观看 | 91插插插插插插插插| 久久av中文字幕片| www.四虎精品| 久久久美女毛片| 国产精品精品软件男同| 一区二区三区av电影| 国产无遮挡裸体免费视频| 欧美日韩综合视频网址| 正在播放木下凛凛xv99| 91麻豆精品国产| 欧美自拍第一页| 一个人www欧美| 亚洲精品天堂| 欧美在线视频播放| 2020国产精品小视频| 国产欧美日韩一区| 日韩av专区| 成人国产在线看| 久久亚洲电影| 国产大学生av| 久久久精品天堂| 久久久久久久久久久97| 一本一道波多野结衣一区二区| 亚洲无码久久久久久久| 精品成人一区二区三区| 第一福利在线| 欧美精品电影免费在线观看| 欧美香蕉视频| 91情侣在线视频| 欧美xxxx在线| 一区二区不卡在线视频 午夜欧美不卡' | 一区二区精品免费| 中文字幕一区二区三区视频| 五月天综合在线| 欧美自拍偷拍午夜视频| 国产高清视频免费| 亚洲欧洲在线视频| 黄色小网站在线观看| 欧美激情精品久久久久| 久久精品国产福利| 国产91精品一区二区绿帽| 欧美人与物videos另类xxxxx| 成年人免费观看的视频| 日韩午夜免费| 99九九99九九九99九他书对| 成人精品免费视频| 91社区视频在线观看| 精品福利在线视频| 一级黄色大毛片| 日韩天堂在线观看| 天天在线视频色| 97精品国产91久久久久久| 国产区一区二| 日本在线视频不卡| 欧美区国产区| 91日韩精品视频| 99久久精品免费精品国产| 妺妺窝人体色WWW精品| 一区二区三区在线视频免费观看| 丁香社区五月天| 精品国产成人系列| 黄色网址在线免费| 欧美制服第一页| 成功精品影院| 色呦呦网站入口| 精品一区二区三区欧美| 黄瓜视频污在线观看| 午夜精品一区二区三区电影天堂| 97caocao| 亚洲色图五月天| 日韩少妇视频| 国产精品电影观看| 蜜臀91精品国产高清在线观看| 免费看日本黄色| 国产黄色精品视频| 亚洲一级理论片| 欧美日韩和欧美的一区二区| 黄色片视频在线观看| 午夜精品福利电影| 日韩精品福利一区二区三区| 青青青在线观看视频| 国产成人精品一区二| 男人天堂资源网| 欧美专区亚洲专区| yourporn在线观看视频| 欧洲美女免费图片一区| 美女毛片一区二区三区四区最新中文字幕亚洲 | 欧美成人一区二区在线观看| 国产91丝袜在线观看| 一区二区三区四区五区| 欧美日韩高清一区二区不卡| 日本中文字幕在线2020| 国产精品手机播放| 九九视频免费观看视频精品 | 麻豆成人在线观看| 欧洲美女女同性互添| 欧美日韩成人一区二区| 免费毛片在线| 国产精品久久久久久久久久免费| 国产一区二区三区四区五区| 麻豆三级在线观看| 国产精品免费久久| 精品乱码一区内射人妻无码| 久久精品国产精品| 动漫一区二区三区| 国产欧美日韩网站| 99riav一区二区三区| 亚洲精品国产无码| 中文字幕日韩有码| 日韩高清中文字幕一区二区| 亚洲精品乱码视频| 久久99久久久久| 日本在线视频免费| 亚洲男人天堂网| 韩国一区二区三区视频| 九九久久九九久久| av电影天堂一区二区在线观看| 三级视频在线观看| 亚洲视频综合网| 国产aa精品| 国产尤物av一区二区三区| 91小视频免费看| 波多野结衣网站| 在线看福利67194| 动漫视频在线一区| www.四虎成人| 伊人一区二区三区| 日本私人网站在线观看| 成人黄色免费片| 国产伊人精品| 自拍偷拍亚洲天堂| 911精品产国品一二三产区| 国产深夜视频在线观看| 欧美日韩亚洲一区二区三区在线观看|