頁面效果
校驗效果:
FormCheck.html
<!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>
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;
}
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;
}
背景圖片
驗證碼圖片