當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
使用JS实现表单验证
生活随笔
收集整理的這篇文章主要介紹了
使用JS实现表单验证
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 表單頁面展示
- FormCheck.jsp
- CSS樣式
- Register.css
- JavaScript代碼
- FormCheck.js
- 效果圖展示
平時我們在注冊賬號的時候經??吹接刑崾緓xx不得法,請重新填寫字樣,本文我們就實現以注冊頁面為例實現表單驗證功能。
如果對驗證碼實現感興趣的可以看這篇文章:驗證碼實現 - html頁面版
表單頁面展示
FormCheck.jsp
<!DOCTYPE html> < html lang="en"><head><meta charset="UTF-8"><title>注冊頁面表單校驗</title><link rel="stylesheet" href="../css/register.css"></head><body><div class="reg_back"><div class="reg_left"><p>新用戶注冊</p><p>USER REGISTER</p></div><div class="reg_center"><div class="reg_form"><form action="#" method="post" id="form"><table><tr><td class="td_left"><label for="username">用戶名</label></td><td class="td_right"><input type="text" name="username" placeholder="請輸入用戶名(英文字符或數字)"id="username"><span id="s_username" class="error"></span></td></tr><tr><td class="td_left"><label for="password">密碼</label></td><td class="td_right"><input type="password" name="password" placeholder="請輸入密碼(長度在6~12位之間)"id="password"><span id="s_password" class="error"></span></td></tr><tr><td class="td_left"><label for="Email">Email</label></td><td class="td_right"><input type="email" name="email" placeholder="請輸入Email" id="Email"><span id="s_email" class="error"></span></td></tr><tr><td class="td_left"><label for="rename">姓名</label></td><td class="td_right"><input type="text" name="rename" placeholder="請輸入真實姓名(中文姓名)" id="rename"><span id="s_rename" class="error"></span></td></tr><tr><td class="td_left"><label for="Telphone">手機號</label></td><td class="td_right"><input type="text" name="telphone" placeholder="請輸入您的手機號"id="Telphone"><span id="s_telphone" class="error"></span></td></tr><tr><td class="td_left"><label>性別</label></td><td class="td_right"><input type="radio" name="gender" value="male" checked> 男<input type="radio" name="gender" value="female"> 女</td></tr><tr><td class="td_left"><label for="Birthday">出生日期</label></td><td class="td_right"><input type="date" name="birthday" id="Birthday"></td></tr><tr><td class="td_left"><label for="checkcode">驗證碼</label></td><td class="td_right"><input type="text" name="checkcode" id="checkcode"><img src="../image/10.png" id="img_check"></td><!--10.png為驗證碼圖片--></tr><tr><td colspan="2" id="td_sub"><input type="submit" value="注冊" id="btn_sub"></td></tr></table></form></div></div><div class="reg_right"><p>已有賬號?<a href="#">立即登錄</a></p></div></div><script src="../js2/FormCheck.js"></script></body> </ html>CSS樣式
Register.css
* {margin: 0px;padding: 0px;box-sizing: border-box; }body {background: url("../image/9.jpg") no-repeat center;/*設置圖片適應整個頁面*/background-size: 100% 100%;background-attachment:fixed; }.reg_back {/*設置整體的尺寸、背景色、邊距等*/width: 900px;height: 400px;border: 8px solid #eeeeee;background: white;margin: auto;margin-top: 20px; }.reg_left {/*設置左浮動和外邊距*/float: left;margin: 10px; }.reg_left > p:first-child {/*設置段落(新用戶注冊)顏色和字體大小*/color: yellow;font-size: 20px; }.reg_left > p:last-child {/*設置段落(USER REGISTER)顏色和字體大小*/color: #A6A6A6;font-size: 20px; }.reg_center {/*設置中間的各種輸入框等*/float: left;width: 500px; }.reg_right {/*設置右邊段落浮動和外間距*/float: right;margin: 30px; }.reg_right > p:first-child {font-size: 15px; }.reg_right p a {/*設置超鏈接(立即登錄)顏色*/color: crimson; }.td_left {/*設置表單中字體對齊方式和寬度、高度*/width: 100px;text-align: right;height: 40px; }.td_right {/*設置輸入框內邊距*/padding-left: 40px; }#username ,#password,#Email, #rename ,#Telphone,#Birthday,#checkcode{/*設置輸入框大小和邊框*/width: 220px;height: 30px;border: 1px solid #A4A4A4;/* 設置邊框為圓角 */border-radius: 8px;padding-left: 10px; } #checkcode{/*驗證碼寬度*/width: 120px; } #img_check{/*驗證碼圖片*/vertical-align: middle;height: 30px;width: 95px; } #btn_sub{/*注冊按鈕*/background: lime;width: 100px;height: 40px;border: 1px solid lime ; } .error{color:red; } #td_sub{padding-left: 150px; }JavaScript代碼
FormCheck.js
window.onload = function () {//給表單綁定onsubmit事件document.getElementById("form").onsubmit = function () {return checkUsername() && checkPassword() &&checkEmail() && checkRename() && checkTelphone();}//給用戶名和密碼框、Email、姓名、手機號分別綁定離焦事件document.getElementById("username").onblur = checkUsername;document.getElementById("password").onblur = checkPassword;document.getElementById("Email").onblur = checkEmail;document.getElementById("rename").onblur = checkRename;document.getElementById("Telphone").onblur = checkTelphone; }//校驗用戶名 function checkUsername() {//獲取用戶名的值var username = document.getElementById("username").value;//定義正則表達式var reg_username = /^([a-zA-Z0-9_-])/;//判斷值是否符合正則表達式的規則var flag = reg_username.test(username);//提示信息var s_username = document.getElementById("s_username");if (flag) {//提示綠色對勾s_username.innerHTML = "<img src='../image/gou.png' width='35' height='25'>";} else {//提示紅色錯誤信息s_username.innerHTML = "用戶名格式有誤!";}return flag; }//校驗密碼 function checkPassword(){//1.獲取密碼的值var password = document.getElementById("password").value;//2.定義正則表達式var reg_password = /^\w{6,12}$/;//3.判斷值是否符合正則的規則var flag = reg_password.test(password);//4.提示信息var s_password = document.getElementById("s_password");if(flag){//提示綠色對勾s_password.innerHTML = "<img width='35' height='25' src='../image/gou.png'/>";}else{//提示紅色錯誤信息s_password.innerHTML = "密碼格式有誤";}return flag; } //校驗Email function checkEmail(){//1.獲取Email的值var email = document.getElementById("Email").value;//2.定義正則表達式var reg_email = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;//3.判斷值是否符合正則的規則var flag = reg_email.test(email);//4.提示信息var s_email = document.getElementById("s_email");if(flag){//提示綠色對勾s_email.innerHTML = "<img width='35' height='25' src='../image/gou.png'/>";}else{//提示紅色錯誤信息s_email.innerHTML = "Email格式有誤";}return flag; } //校驗真實姓名 function checkRename(){//1.獲取真實姓名的值var rename = document.getElementById("rename").value;//2.定義正則表達式var reg_rename = /^[\u4e00-\u9fa5]{2,4}$/;//3.判斷值是否符合正則的規則var flag = reg_rename.test(rename);//4.提示信息var s_rename = document.getElementById("s_rename");if(flag){//提示綠色對勾s_rename.innerHTML = "<img width='35' height='25' src='../image/gou.png'/>";}else{//提示紅色錯誤信息s_rename.innerHTML = "真實姓名輸入有誤";}return flag; } //校驗手機號 function checkTelphone(){//1.獲取手機號的值var telphone = document.getElementById("Telphone").value;//2.定義正則表達式var reg_telphone = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;//3.判斷值是否符合正則的規則var flag = reg_telphone.test(telphone);//4.提示信息var s_telphone = document.getElementById("s_telphone");if(flag){//提示綠色對勾s_telphone.innerHTML = "<img width='35' height='25' src='../image/gou.png'/>";}else{//提示紅色錯誤信息s_telphone.innerHTML = "手機號輸入有誤";}return flag; }效果圖展示
好了,我親愛的讀者朋友,以上就是本文的全部內容了!!!
覺得有點用記得給我點贊哦!
通過堅持不懈地學習,持續不斷地輸出,你的編程基本功算得上是突飛猛進。
為了幫助更多的程序員,專注于分享有趣的 Java 技術編程和有益的程序人生。一開始,閱讀量寥寥無幾,關注人數更是少得可憐。但隨自己的不斷努力,閱讀量和關注人都在猛烈攀升。
絕對不容錯過,期待與你的不期而遇。
總結
以上是生活随笔為你收集整理的使用JS实现表单验证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 集成学习01_xgboost参数讲解与实
- 下一篇: adobe