说明:在点击提交时进行表单校验,具体要求如下:

1)用户名为3~16个字符,且不能包含”@”和”#”字符;

2)密码和校验密码必须一致,且长度在8个字符到16个字符;

3)兴趣爱好至少选择一项;

4)政治面貌必须为党员;

5) 所有输入符合要求后提示“注册成功”。

HTML代码为:在(register.html中)

<!DOCTYPE html>
<html lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!--<meta charset="UTF-8">-->
<link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="../css/myStyle.css">
<title>用户注册</title>
</head>
<body>
<div class="container"> <form class="form-horizontal" role="form">
<div class="form-group">
<div class="col-sm-6" >
<legend class="title" >用户注册信息</legend>
</div>
</div> <div class="form-group">
<label for="user-name" class="col-sm-2 control-label">用户名:</label>
<div class="col-sm-3">
<input type="text" class="form-control" id="user-name" onblur="checkUserName()"
placeholder="请输入用户名"/>
</div>
<div class="col-sm-2">
<span id="nameInfo"></span>
</div>
</div>
<div class="form-group">
<label for="password" class="col-sm-2 control-label">密码:</label>
<div class="col-sm-3">
<input type="password" class="form-control" id="password" onblur="checkRepassword()"
placeholder="请输入密码"/>
</div>
<div class="col-sm-2">
<span id="passwordInfo"></span>
</div> </div>
<div class="form-group">
<label for="repassword" class="col-sm-2 control-label">校验密码:</label>
<div class="col-sm-3">
<input type="password" class="form-control" id="repassword" onblur="checkRepassword()"
placeholder="请输入校验密码">
</div>
<div class="col-sm-2">
<span id="repasswordInfo"></span>
</div>
</div>
<div class="form-group">
<label for="nativeplace" class="col-sm-2 control-label">籍贯:</label>
<div class="col-sm-2">
<select id="nativeplace">
<option value="zhejiang">浙江</option>
<option value="fujian">福建</option>
<option value="anhui">安徽</option>
<option value="sichuan">四川</option>
</select>
</div> </div>
<div class="form-group">
<label class="col-sm-2 control-label">兴趣爱好:</label>
<div class="col-sm-6" >
<div onblur="checkHobby()">
<!--通过将 .checkbox-inline 或 . 类应用到一系列的多选框或单选框空间上,可以使这些控件排列在一行-->
<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox1" name="hobby" value="basketball">篮球
</label>
<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox2" name="hobby" value="soccer">足球
</label>
<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox3" name="hobby" value="writing" checked="checked">书法
</label>
<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox4" name="hobby" value="music">音乐
</label>
<br/>
<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox5" name="hobby" value="painting">绘画
</label>
<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox6" name="hobby" value="free-combat">散打
</label>
<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox7" name="hobby" value="yoga" >瑜伽
</label>
<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox8" name="hobby" value="other">其他
</label>
<span id="hobbyInfo"></span>
</div>
</div>
</div>
<div class="form-group" onblur="checkStatus()">
<label class="col-sm-2 control-label">政治面貌:</label>
<div class="col-sm-4">
<label class="radio-inline">
<input type="radio" name="inlineRadioOptions" value="党员" checked="checked">党员
</label>
<label class="radio-inline">
<input type="radio" name="inlineRadioOptions" value="团员" checked="" >团员
</label>
<label class="radio-inline">
<input type="radio" name="inlineRadioOptions" value="群众" checked="">群众
</label>
</div>
</div> <div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" id="submit" class="btn btn-success" onclick="validateForm()">提交</button>
<button type="submit" class="btn btn-warning">重置</button>
<br/>
<br/>
<label><a href="#">注册帮助信息请点击这里</a></label>
</div>
</div>
</form>
</div>
<script type="text/javascript" src="../js/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="../js/bootstrap.min.js"></script>
<script type="text/javascript" src="../js/register.js"></script> </body>
</html>

CSS代码为:(在myStyle.css中)

form{
background-color: #fafdec; }
legend{
position: relative;
text-align: center;
height: 50px;
padding-top: 10px;
padding-bottom: 10px;
margin-bottom: 2px;
background-color: #e9e9e9;
font-family: Consolas;
font-size: 1.5em;
}
label{
align-content: center;
text-align: center;
font-size: 1.1em;
}
button{
margin-right: 18px;
}
.text{
width: 500px;
height: 100px;
}
.col-sm-2 span{
color:red;
}

JavaScript代码为:(封装在register.js文件中)

/* Created by Microsoft on 2016/7/30.*/
$(document).ready(function () {
function validateForm(){
if(checkUserName()&&checkPassword()&&checkRepassword()&&checkHobby()&&checkStatus()){
alert("恭喜您!注册成功!");
}
}
}); //验证用户名(为3~16个字符,且不能包含”@”和”#”字符)
function checkUserName(){
var name=document.getElementById("user-name").value.trim();
var nameRegex=/^[^@#]{3,16}$/;
if(!nameRegex.test(name)){
document.getElementById("nameInfo").innerHTML="用户名为3~16个字符,且不能包含”@”和”#”字符";
}else{
document.getElementById("nameInfo").innerHTML="";
return true;
} }
//验证密码(长度在8个字符到16个字符)
function checkPassword(){
var password=document.getElementById("password").value.trim();
//var password=$("#password").value;
$("#passwordInfo").innerHTML="";
//密码长度在8个字符到16个字符,由字母、数字和".""-""_""@""#""$"组成
//var passwordRegex=/^[0-9A-Za-z.\-\_\@\#\$]{8,16}$/;
//密码长度在8个字符到16个字符,由字母、数字和"_"组成
var passwordRegex=/^[0-9A-Za-z_]\w{7,15}$/;
if(!passwordRegex.test(password)){
document.getElementById("passwordInfo").innerHTML="密码长度必须在8个字符到16个字符之间";
}else{
document.getElementById("passwordInfo").innerHTML="";
}
} //验证校验密码(和上面密码必须一致)
function checkRepassword(){
var repassword=document.getElementById("repassword").value.trim();
//校验密码和上面密码必须一致
if(repassword!==password){
document.getElementById("repasswordInfo").innerHTML="两次输入的密码不一致";
}else if(repassword==password){
document.getElementById("repasswordInfo").innerHTML="";
}
}
//验证兴趣爱好(至少选择一项)即,多选框非空
function checkHobby(){
var textbox=document.getElementsByName("hobby");
$('input[type=checkbox]').click(function(){ if($("input[name='hobby']:checked").length!=0 ) {
return true;
}
});
}
//验证政治面貌(必须为党员)
function checkStatus(){
$(function(){
$("#submit").click(function(){
var val=$('input:radio[name="inlineRadioOptions"]:checked').val();
if(val==null){
alert("请选中一个!");
return false;
}
else if(val=="党员"){
return true;
}
});
});
}

效果截图:

总体界面为:

1)用户名为3~16个字符,且不能包含”@”和”#”字符;

2)密码和校验密码必须一致,且长度在8个字符到16个字符;

3) 验证符合要求后提示“注册成功”

JavaScript:使用JavaScript 实现注册表单的校验的更多相关文章

  1. 使用JavaScript 实现注册表单的校验

    说明:在点击提交时进行表单校验,具体要求如下: 1)用户名为3~16个字符,且不能包含”@”和”#”字符: 2)密码和校验密码必须一致,且长度在8个字符到16个字符: 3)兴趣爱好至少选择一项: 4) ...

  2. 第一百六十节,封装库--JavaScript,ajax注册表单到数据库

    封装库--JavaScript,ajax注册表单到数据库 效果图 前台js var biaodan = $().xu_lie_biao_dan($('form').sh_jd()); //序列化获取表 ...

  3. Html注册表单示例

    注册表单示例,出自<网页开发手记:Html,CSS,JavaScript实战详解>.   <html>   <head>   <title>注册表单&l ...

  4. 免费 PSD 下载: 20个精美的登录和注册表单

    注册表单有许多不同的形状和尺寸,有的只是单个的输入框,有的则需要多个步骤.登录表单的设计将定义网站的性质,因此它应进行针对性的设计.下面的列表提供了20个醒目的登录和注册表单设计为您提供灵感. 您可能 ...

  5. HTML6注册表单输入日志标题

    一.找到元素. var d = document.getElementById("") var d = document.getElementsByName("" ...

  6. 4.前端注册表单验证 && 表单回填

    表单验证 前端表单验证就是在 jsp 页面中添加验证逻辑,使得注册表单在传入后台之前先进行一次表单验证 在jsp文件里的 head 块里面添加 jQuery 代码 <script type=&q ...

  7. JS判定注册表单的几个方式 及 Ajax进行用户名存在判定

    最近感觉不赶紧把代码逻辑记一下梳理一下,再做的时候就容易进入"逻辑误区". 有个表单,简单点. <!DOCTYPE html> <!-- 注册表单验证,用户名格式 ...

  8. 一款基于jQuery的带Tooltip表单验证的注册表单

    今天给大家分享一款基于jQuery的注册表单,这款注册表单的特点是确认提交注册信息时,表单会自动验证所填写的信息,如果信息填写有误,即会在相应的字段内以Tooltip提示框的形式显示错误信息.这款jQ ...

  9. ajax 提交 注册表单 到MySQL数据库

    今天按照要求,要做一个登陆.注册表单,本来样式做好就行了,本来咱就是干前端的,但让咱自己都没想到的是,不到一个小时竟然都干完了,实在闲的蛋疼,就想到链接数据库玩,遥想当年,毕竟咱也是写过后台的,哪知, ...

随机推荐

  1. Ubuntu14.04环境下配置TFTP服务器

    <<<<<<<<<<<<<<<<<<<<<<<<< ...

  2. Using an open debug interconnect model to simplify embedded systems design

    Using an open debug interconnect model to simplify embedded systems design Tom Cunningham, Freescale ...

  3. GridView Item 大小可能不一样,如何保持同一行的Item 高度大小相同,且GridView高度自适应!

    昨天用到GridView,但是遇到几个问题,就是GridView默认的item其实大小是一致的,但是我们经常会遇到item大小不同,系统默认会留白的问题,很头疼!如下图这样的:      就会造成,右 ...

  4. Ubuntu OS应用Runtime Enviroment

    在这篇文章中.我们将介绍Ubuntu OS的Runtime Environment.在文章"App confinement: Security policy for click packag ...

  5. html端编码规范

    理想的方式是让HTML只用于定义内容呈现的结构,让CSS控制内容呈现的样式,而所有功能的实现定义在JavaScript中

  6. thymleaf th:if标签

    1.概念 <table> <tr> <th>NAME</th> <th>PRICE</th> <th>IN STOC ...

  7. 常见C++内存池技术

    原文:http://www.cppblog.com/weiym/archive/2013/04/08/199238.html 总结下常见的C++内存池,以备以后查询.应该说没有一个内存池适合所有的情况 ...

  8. Perl &amp; Python编写CGI

    近期偶然玩了一下CGI,收集点资料写篇在这里留档. 如今想做HTTP Cache回归測试了,为了模拟不同的响应头及数据大小.就须要一个CGI按须要传回指定的响应头和内容.这是从老外的測试页面学习到的经 ...

  9. linux文本文件按列合并

    http://blog.163.com/liang8421@126/blog/static/894819572009386653912/ 我想把文本文件file1 和文本文件 file2按照相应的行合 ...

  10. 盗COOKIE之方法总结

    1.xss跨站盗cookie 2.ajax跨域盗cookie 3.hosts文件映射 对于第一种方法,首先:在有跨站漏洞的页面贴上跨站代码如: <script>window.open('h ...