精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产精品美女久久久久aⅴ国产馆| 国产99亚洲| 亚洲欧美日韩久久| 国产日韩欧美二区| 在线观看日本视频| 四季av一区二区三区免费观看| 制服丝袜亚洲色图| 成年人午夜免费视频| 暖暖视频在线免费观看| 免费看欧美美女黄的网站| 久久伊人精品天天| av网页在线观看| 精品久久毛片| 亚洲精品日日夜夜| 日本一区视频在线播放| 一区不卡在线观看| 中日韩视频在线观看| 精品国偷自产在线| 白丝女仆被免费网站| 国精品产品一区| 亚洲国产中文字幕在线视频综合| 色黄视频免费看| 亚洲无码久久久久久久| 影音先锋日韩资源| 一区国产精品视频| 麻豆精品国产传媒| 日本欧美一区| 精品国产91久久久久久老师| 在线日韩av永久免费观看| 神马久久久久久久久久| 极品少妇xxxx偷拍精品少妇| 青青a在线精品免费观看| 精品国产视频一区二区三区| 精品国产乱码久久久久久1区2匹| 亚洲成人精品久久| 999热精品视频| 国产精品原创视频| 色老综合老女人久久久| 精品久久一二三| 日本乱理伦在线| 成人免费在线视频观看| 午夜欧美性电影| 国产综合在线观看| 久久亚洲捆绑美女| 国产一区二区久久久| 亚洲AV无码精品国产| 国产真实乱对白精彩久久| 国产精品久久av| 久久久久久久久久成人| 久久av一区| 55夜色66夜色国产精品视频| 日韩高清免费av| 亚洲精一区二区三区| 久久久久久久久久久亚洲| 欧美日韩偷拍视频| 欧美视频一区| 国内外成人免费激情在线视频网站 | 欧洲精品久久一区二区| 国产九色精品成人porny| 国产在线久久久| 国产一区二区女内射| 激情av综合网| 91亚洲人电影| 亚洲av无码一区二区三区性色| 国产一区二区日韩精品| 亚洲xxxx在线| 免费看日韩av| 91蜜桃在线观看| 日韩精品久久久毛片一区二区| 国产三级电影在线| 国产农村妇女精品| 中文字幕黄色大片| 欧美videosex性极品hd| 婷婷六月综合网| 大香煮伊手机一区| 欧美亚洲人成在线| 日韩免费在线观看| 国产精品无码专区| 狠狠色丁香婷婷综合影院| 中文字幕亚洲欧美日韩高清 | 夜色激情一区二区| 精品视频在线观看一区| 亚洲性色av| 欧美丝袜自拍制服另类| 善良的小姨在线| 国产精品网址| 国产丝袜一区二区三区| 快灬快灬一下爽蜜桃在线观看| 久久一区91| 欧美激情精品久久久久久黑人 | 北岛玲一区二区| 国产成人精品三级高清久久91| 色哟哟亚洲精品一区二区| 校园春色 亚洲| 性伦欧美刺激片在线观看| 国产精品国语对白| www.黄色小说.com| 久久久久久免费网| 麻豆视频传媒入口| 日韩欧美另类一区二区| 欧美一级黄色录像| 国产精品无码久久久久久| 婷婷综合伊人| 日本免费一区二区三区视频观看| 国产三级伦理片| 久久久久久日产精品| 久久亚洲a v| 美女色狠狠久久| 亚洲第一精品夜夜躁人人爽| 一本在线免费视频| 一本久久综合| 91视频在线免费观看| 日韩资源在线| 亚洲精品久久嫩草网站秘色| 黄色av免费在线播放| 超碰精品在线观看| 日韩在线一区二区三区免费视频| 毛片视频网站在线观看| 国产伦精一区二区三区| 日韩性感在线| 日韩成人av电影| 亚洲第一中文字幕| 手机在线免费看毛片| 日本女人一区二区三区| 乱一区二区三区在线播放| 欧美野外wwwxxx| 91精品国产综合久久蜜臀| 特级西西www444人体聚色 | 亚洲第一天堂影院| 国产精品久久久99| 国产97色在线 | 日韩| 欧美在线关看| 午夜精品一区二区三区av| 国产男女裸体做爰爽爽| 中文字幕在线观看一区二区| 免费观看成人在线视频| 亚洲精品蜜桃乱晃| 7m第一福利500精品视频| 亚洲国产一二三区| 一区二区在线观看免费视频播放 | 国产精品视频一区在线观看| 成人久久18免费网站麻豆| 激情成人开心网| 日本一区影院| 欧美老女人性生活| 99精品视频免费看| 亚洲精品v日韩精品| 911av视频| 91精品综合久久久久久久久久久 | 三级a在线观看| 少妇精品久久久一区二区三区| 777国产偷窥盗摄精品视频| 五月激情婷婷网| 五月天激情综合| 日韩av无码一区二区三区不卡| 国产精品va| 国产精品综合久久久久久| sis001亚洲原创区| 日韩成人av在线播放| 成人精品免费在线观看| 91视频精品在这里| 北条麻妃在线视频| 日韩中文字幕高清在线观看| 国产在线拍偷自揄拍精品| av黄色在线| 亚洲精品一区二区三区在线观看| 国产乡下妇女做爰视频| 久久网站最新地址| 亚洲色图久久久| 希岛爱理一区二区三区| 亚洲bt欧美bt日本bt| sm在线观看| 亚洲图片欧美午夜| 91精品人妻一区二区三区果冻| 亚洲日本一区二区三区| www.男人天堂| 日韩高清一区在线| 人人妻人人澡人人爽精品欧美一区| 97久久中文字幕| 韩国欧美亚洲国产| 超碰免费在线| 欧美不卡123| 中文字幕一区在线播放| 中文字幕一区二区三区蜜月| 韩国av中国字幕| 久久综合亚州| www国产无套内射com| 免费av一区| 91在线看www| 最新欧美色图| 精品国产网站地址| 人妻va精品va欧美va| 欧美在线不卡一区| 久久久精品人妻一区二区三区四| 91丝袜美腿高跟国产极品老师 | 日本wwwcom| 国产精品一区高清| 成人欧美一区二区三区在线观看| 国产免费不卡| 欧美激情久久久久| 97电影在线看视频| 亚洲精品国产精品乱码不99按摩| 亚洲天堂狠狠干| 精品久久久久人成| 国产色无码精品视频国产| 91原创在线视频| 国产亚洲色婷婷久久| 日韩成人精品在线| 欧美黑人经典片免费观看| 999国产精品| 欧美精品一区二区三区四区五区 | 欧美日韩在线高清| 综合激情网...| 国产在线不卡精品| 日韩免费va| 国产91精品不卡视频| 天天干在线视频论坛| 深夜福利一区二区| 免费人成在线观看网站| 亚洲成年人在线| jizz国产视频| 欧美日韩国产片| 国产精品va无码一区二区三区| 亚洲成人你懂的| 麻豆视频在线免费看| 国产精品丝袜在线| 欧美熟妇精品黑人巨大一二三区| 国产91在线|亚洲| 91欧美一区二区三区| 老色鬼精品视频在线观看播放| avav在线看| 国产日韩一区| 成熟丰满熟妇高潮xxxxx视频| 韩日欧美一区| 奇米777四色影视在线看| 婷婷亚洲综合| 亚洲午夜精品一区二区| 成人激情在线| 日韩中文字幕一区二区| 97久久精品| 国产精品乱码视频| 99久久免费精品国产72精品九九| 亚洲在线免费观看| 久久99成人| 亚洲一区二区三| 午夜电影一区| 成人精品一二区| 国产精品22p| 国模一区二区三区私拍视频| 开心激情综合| 精品国产一区二区三区麻豆小说| 男人的天堂久久| 久久久久高清| 色综合中文网| 一区不卡字幕| 91精品亚洲| 800av在线免费观看| 亚洲午夜视频| 日本韩国欧美在线观看| 久色成人在线| 爱爱爱爱免费视频| 国产一区在线看| www.美色吧.com| 337p粉嫩大胆噜噜噜噜噜91av| 91视频在线网站| 中文字幕av一区二区三区免费看| 国产91在线播放九色| 亚洲美女淫视频| 日本亚洲色大成网站www久久| 欧美色另类天堂2015| 久草热在线观看| 91精品国产麻豆| 蜜臀久久久久久999| 亚洲欧美第一页| 日本精品一区二区三区在线播放| 九九热视频这里只有精品| 黄色污网站在线观看| 国产精品美女久久久久av超清| www.欧美| 久久免费视频1| 99精品网站| 欧美在线一区视频| 日韩电影免费在线| 两女双腿交缠激烈磨豆腐| www.日本不卡| 亚洲综合图片一区| 亚洲成人在线网站| 中文字幕日韩国产| 精品国产青草久久久久福利| 国产三级视频在线播放线观看| 欧美另类老女人| 韩日成人影院| 成人av片网址| 日韩a一区二区| 99久久免费观看| 蜜桃视频免费观看一区| 人妻换人妻a片爽麻豆| 欧美激情一区二区在线| 精品少妇theporn| 欧美色欧美亚洲另类二区| 亚洲免费国产视频| 中文字幕亚洲图片| 蜜桃av.网站在线观看| 亚洲一区二区免费在线| 国产一区二区三区日韩精品 | 日韩欧美在线网站| 黄色毛片在线看| 国产69精品久久久久9| avtt久久| 亚洲精品成人自拍| 国产精品女主播一区二区三区| 亚洲第一区第二区第三区| 久久精品夜色噜噜亚洲aⅴ| 国产在线视频99| 欧美精品自拍偷拍| 国产女主播在线直播| 97国产suv精品一区二区62| 欧美精品三级在线| 伊人天天久久大香线蕉av色| 久久婷婷一区| 中文文字幕文字幕高清| 亚洲国产日韩a在线播放| 国产美女明星三级做爰| 综合久久五月天| 成人看片网站| 欧美大陆一区二区| 亚洲精品男同| 99久久久无码国产精品性波多| 亚洲免费观看高清完整版在线观看| 中文字幕在线观看免费| 亚洲天堂网在线观看| 写真福利精品福利在线观看| 九九九久久久| 国产一区二区你懂的| 亚洲av人人澡人人爽人人夜夜| 亚洲精品免费在线| 99在线精品视频免费观看20| 麻豆成人在线看| 欧美高清hd| 欧美 日韩 国产精品| 国产毛片精品国产一区二区三区| 永久免费看片直接| 欧美精品电影在线播放| 欧美videos极品另类| 成人福利网站在线观看| 偷拍欧美精品| 日本少妇激三级做爰在线| 亚洲美女屁股眼交| 国产成人三级一区二区在线观看一| 久久黄色av网站| 久久在线观看| 国产夫妻自拍一区| www.亚洲色图.com| 黄色一级视频免费看| 国产亚洲激情在线| 福利视频一区| 人人妻人人澡人人爽精品欧美一区| 亚洲电影免费观看高清完整版在线观看| 免费黄色一级大片| 亚洲精品一区在线观看香蕉| 亚洲最大网站| 日韩欧美精品在线不卡| 免费成人你懂的| 成人免费视频国产免费观看| 欧美一区二区福利视频| 毛片大全在线观看| 精品在线不卡| 日本视频在线一区| 日本免费网站视频| 精品国产一区二区三区忘忧草| 国产极品在线观看| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 国产激情第一页| 日韩欧美福利视频| 在线免费观看黄色| 99高清视频有精品视频| 99香蕉国产精品偷在线观看| 日韩丰满少妇无码内射| 欧美高清性hdvideosex| 色爱综合区网| 久久亚洲午夜电影| 精品一区二区三区视频| 国产一级一片免费播放放a| 亚洲男人7777| 999精品视频在线观看| 国产日本在线播放| 中文字幕高清不卡| 成人久久精品人妻一区二区三区| 欧亚精品在线观看| 亚州av乱码久久精品蜜桃| 男男做爰猛烈叫床爽爽小说 | 奇米视频888| 午夜激情一区二区三区| 丁香婷婷在线| 国产伦精品一区二区三区四区视频| 天堂午夜影视日韩欧美一区二区| 私库av在线播放| 一本大道久久加勒比香蕉| 粉嫩av一区二区| 国产原创精品在线|