<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>英雄联盟成员注册</title>
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<style type="text/css">
table{color:red}
caption{font-size: 25px;font-family: "微软雅黑";color: forestgreen;}
*{font-family: "微软雅黑";}
</style>
<script type="text/javascript">
/*全局变量及初始化页面状态*/
//获取验证码
function getCode(){
varRand = parseInt(Math.random()*9000+1000);//生成随机数
$("#spanCodeId").html(varRand);//将生成的随机数赋值到span标签中
}
//声明验证码变量
var varRand = 0;
//声明密码变量
var varPwd;
$(function(){
getCode();
})
//校验验证码
function codeTest(){
var varCode = $("#codeId").val();//获取验证码文本框的内容
if(varCode == 0){
//如果没有内容,提示输入验证码
$("#spanCodeId2").html("验证码不能为空!");
return false;
}else if(varCode == varRand){
//如果验证输入正确,提示成功
$("#spanCodeId2").html("<span style='color: green;font-size: 13px;'>√</span>");
return true;
}else{
//否则提示验证码输入错误
$("#spanCodeId2").html("验证码输入错误!");
return false;
}
}
//用户名校验
function unameTest(){
//获取用户名
var varUname = $("#unameid").val();
//声明正则表达式,表示用户名规则:
var varReg = /^[\u4e00-\u9fa5]{1,6}$/;
if(varUname.length == 0){
//如果没有内容,提示输入用户名
$("#spanUnameId").html("英雄昵称不能为空!");
return false;
}else if(varReg.test(varUname)){
$("#spanUnameId").html("<span style='color: green;font-size: 14px;'>√</span>");
return true;
}else{
$("#spanUnameId").html("英雄昵称必须为1-6个汉字");
return false;
}
}
//真实姓名校验
function realNameTest(){
//获取用户名
var varRealName = $("#realNameid").val();
//声明正则表达式,表示用户名规则:1-6个汉字
var varReg = /^[\u4e00-\u9fa5]{1,6}$/;
if(varRealName.length == 0){
//如果没有内容,提示输入用户名
$("#spanRealNameId").html("真实姓名不能为空!");
return false;
}else if(varReg.test(varRealName)){
$("#spanRealNameId").html("<span style='color: green;font-size: 14px;'>√</span>");
return true;
}else{
$("#spanRealNameId").html("真实姓名必须为1-6个汉字");
return false;
}
}
//密码校验
function pwdTest(){
//获取密码
varPwd = $("#pwdId").val();
//声明正则表达式,表示用户名规则:数字和字母,不少于4个
var varReg = /^[A-Za-z0-9]{4,40}$/;
if(varPwd.length == 0){
//如果没有内容,提示输入密码
$("#spanPwdId").html("密码不能为空!");
return false;
}else if(varReg.test(varPwd)){
$("#spanPwdId").html("<span style='color: green;font-size: 14px;'>√</span>");
return true&&pwdTest2();
}else{
$("#spanPwdId").html("密码必须为4-40个数字和字母的组合");
return false;
}
}
//确认密码校验
function pwdTest2(){
//获取确认密码
var varPwd2 = $("#pwdId2").val();
if(varPwd2.length == 0){
//如果没有内容,提示输入密码
$("#spanPwdId2").html("密码不能为空!");
return false;
}else if(varPwd2 === varPwd){
$("#spanPwdId2").html("<span style='color: green;font-size: 14px;'>√</span>");
return true;
}else{
$("#spanPwdId2").html("密码输入错误");
return false;
}
}
//个人介绍校验
function myselfTest(){
//获取个人介绍内容
var varMyself = $("#myselfId").val();
//声明正则表达式,表示用户名规则:所有字符,至少10个
var varReg = /^.{10,160}$/;
if(varMyself.length == 0){
//如果没有内容,提示不能为空
$("#spanMyselfId").html("个人介绍不能为空!");
return false;
}else if(varReg.test(varMyself)){
$("#spanMyselfId").html("<span style='color: green;font-size: 14px;'>√</span>");
return true;
}else{
$("#spanMyselfId").html("个人介绍的字符必须在10到160个字符!");
return false;
}
} //籍贯校验
function stateTest(){
//获取下拉框内容
var varState = $("#stateId").val();
if(varState == 0){
//如果没有内容,提示籍贯不能为空
$("#spanStateId").html("籍贯不能为空!");
return false;
}else {
$("#spanStateId").html("<span style='color: green;font-size: 14px;'>√</span>");
return true;
}
}
//英雄定位校验
function favtest(){
var varfav = $("input[name=fav]");
for(var i = 0;i<varfav.length;i++){
if(varfav[i].checked){
$("#spanFavId").html("<span style='color: green;font-size: 14px;'>√</span>");
return true;//结束程序
}
}
$("#spanFavId").html("英雄定位至少选择一样!");
return false;
}
//将同意协议事件和注册事件进行绑定
// $(function(){
// $("#checkId").on("click",function(){
// $("#subId").attr("disabled",false);
// });
// });
function checkTest(){
$("#subId").prop("disabled",!$("#checkId").prop("checked"));
}
//提交和重置校验
function isreset(){
var varbool = window.confirm("是否确定要重置信息?");
return varbool;
}
function issubmit(){
var varbool = codeTest()&&unameTest()&&realNameTest()&&pwdTest()&&pwdTest2()&&myselfTest()&&stateTest();
return varbool;
}
</script>
</head>
<body style="background-color: antiquewhite;">
<form action="#" onsubmit="return issubmit()" onreset="return isreset()">
<table class="table table-hover" style="width: 580px;" align="center">
<caption>欢迎注册英雄联盟</caption>
<tbody>
<tr>
<td width="100px">英雄昵称:</td>
<td>
<input type="text" name="uname" id="unameid" placeholder="请输入英雄昵称!" value="" onblur="unameTest()"/>
<span id="spanUnameId"></span>
</td>
</tr>
<tr>
<td>真实姓名:</td>
<td>
<input type="text" name="realName" id="realNameid" placeholder="请输入真实姓名!" value="" onblur="realNameTest()"/>
<span id="spanRealNameId"></span>
</td>
</tr>
<tr>
<td>密码:</td>
<td>
<input type="password" name="pwd" id="pwdId" placeholder="请输入密码!" value="" onblur="pwdTest()"/>
<span id="spanPwdId"></span>
</td>
</tr>
<tr>
<td>确认密码:</td>
<td>
<input type="password" name="pwd2" id="pwdId2" placeholder="请确认密码!" value="" onblur="pwdTest2()"/>
<span id="spanPwdId2"></span>
</td>
</tr>
<tr>
<td>性别:</td>
<td>
<input type="radio" name="sex" value="1" checked="checked"/>男
<input type="radio" name="sex" value="0"/>女
<span id="spanSexId"></span>
</td>
</tr>
<tr>
<td>籍贯:</td>
<td>
<select name="state" style="width: 180px;" id="stateId" onblur="stateTest()">
<option value="0">--请进行选择--</option>
<option value="1">--艾欧尼亚--</option>
<option value="2">--德玛西亚--</option>
<option value="3">--班德尔城--</option>
<option value="4">--暗影岛--</option>
<option value="5">--虚空--</option>
<option value="6">--巨神峰--</option>
</select>
<span id="spanStateId"></span>
</td>
</tr>
<tr>
<td>英雄定位:</td>
<td>
<input type="checkbox" name="fav" value="a" onclick="favtest()"/>法师
<input type="checkbox" name="fav" value="b" onclick="favtest()"/>射手
<input type="checkbox" name="fav" value="c" onclick="favtest()"/>刺客
<input type="checkbox" name="fav" value="d" onclick="favtest()"/>战士
<input type="checkbox" name="fav" value="d" onclick="favtest()"/>坦克
<input type="checkbox" name="fav" value="d" onclick="favtest()"/>辅助
<span id="spanFavId"></span>
</td>
</tr>
<tr>
<td>自我介绍:</td>
<td height="130px">
<textarea name="myself" id="myselfId" rows="4" cols="40" value="" onblur="myselfTest()"></textarea>
<span id="spanMyselfId"></span>
</td>
</tr>
<tr>
<td>验证码:</td>
<td>
<input type="text" id="codeId" value="" maxlength="4" size="4" value="" onblur="codeTest()"/>
<span id="spanCodeId" style="color: green;" onclick="getCode()"></span>
<span id="spanCodeId2"></span>
</td>
</tr>
<tr>
<td colspan="2">
<input type="checkbox" id="checkId" onclick="checkTest()"/>您是否同意峡谷生存规则!
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" id="subId" value="注册" disabled="true"/>
<input type="reset" id="resetId" value="重置"/>
</td>
</tr>
</tbody>
</table>
</form> </body>
</html>

页面效果:

只是测试了一部分功能,因篇幅有限,不能测试全面,有什么问题,欢迎留言一起学习!

里面的正则表达式,参考小编的前几篇文章,有资源连接的

分享一篇最近新写的jquery注册页面表单校验的程序,仅供参考的更多相关文章

  1. JQuery注册页面表单检验完善

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. 分享分享JavaScript100例-仅供参考

    最近一直在做项目,分享下以前收集的Javascript100例,仅供参考. http://files.cnblogs.com/52net/JavaScript100例.zip

  3. 使用JQuery.Validate插件来校验页面表单有效性

    使用JQuery.Validate插件来校验页面表单有效性​1. [代码] 常见的注册表单元素 <form action="#" method="post" ...

  4. Blazor WebAssembly 船新项目下载量测试 , 仅供参考.

    前言: 昨天 Blazor WebAssembly 3.2 正式发布了.  更新 VS2019后就能直接使用. 新建了两个PWA项目,  一个不用asp.net core (静态部署), 一个使用as ...

  5. 淘宝网购物车jquery源码和网易新用户注册页面表单验证的练习

    淘宝网购物车源码: <html lang="en"> <head> <meta charset="UTF-8"> <t ...

  6. jsp页面表单的遍历要怎么写

    1.传统的方式使用request.getAttribute(“list”);获取表单的值, 2.也可以用struts2提供的标签进行遍历 备注 // 传统的接受参数方法 // String sfz=t ...

  7. jQuery学习(八)——使用JQ插件validation进行表单校验

    1.官网下载:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ 目录结构: 2.引入jquery库和validation插件 ...

  8. Jquery easyui 重置按钮,easyui 清空表单,Jquery easyui 重置表单

    Jquery easyui 重置按钮,easyui 清空表单,Jquery easyui 重置表单 >>>>>>>>>>>>&g ...

  9. 手把手教你提交Jar包到Maven公共仓库 | 萌新写开源02

    在上一篇文章中,我介绍了自己的SpringBoot Starter项目,可以让我们使用注解的方式轻松地获取操作日志,并推送到指定数据源. 之前,我的项目开源在Github上,大家想要用我的项目,还得把 ...

随机推荐

  1. clojure 环境搭建

    以下是clojure 基础环境搭建的几种方式 mac brew install clojure linux curl -O https://download.clojure.org/install/l ...

  2. <虚树+树型DP> HNOI2014世界树

    <虚树+树型DP> HNOI2014世界树 #include <iostream> #include <cstdio> #include <cstring&g ...

  3. 【转】AVL之C++实现

    AVL树的介绍 AVL树是高度平衡的而二叉树.它的特点是:AVL树中任何节点的两个子树的高度最大差别为1. 上面的两张图片,左边的是AVL树,它的任何节点的两个子树的高度差别都<=1:而右边的不 ...

  4. hive基础知识五

    Hive 主流文件存储格式对比 1.存储文件的压缩比测试 1.1 测试数据 https://github.com/liufengji/Compression_Format_Data ​ M 1.2 T ...

  5. 编码格式检测chardet模块

    chardet模块: -->检测编码格式 未知编码的bytes,要把它转换成str,就需要知道该bytes的编码方式 #1.直接检测bytes >>> chardet.dete ...

  6. Spring注解和标签的比较说明

    待完善.... xml标签 注解 说明 xml的Spring约束头 @Configuration xml约束头表明这是用于spring的的配置文件 @Configuration注解表情这是用于Spri ...

  7. mysql 主从 数据不一致

    用pt-table-checksum校验数据一致性 Jun 4th, 2013 主从数据的一致性校验是个头疼的问题,偶尔被业务投诉主从数据不一致,或者几个从库之间的 数据不一致,这会令人沮丧.通常我们 ...

  8. java基础之 数据类型 & 值传递 引用传递 & String & 四种引用类型

    一.Java数据类型 分为基本数据类型与引用数据类型 基本数据类型: byte:Java中最小的数据类型,在内存中占1个字节(8 bit),取值范围-128~127,默认值0 short:短整型,2个 ...

  9. c# winform richtextbox控制每行颜色 + 滚动条始终滚动到最底部

    /// <summary> /// 输出 /// </summary> /// <param name="content"></param ...

  10. 5 系统的软中断CPU升高,一般处理办法?

    还是需要多动手,一个一个问题个被get!