JQuery 表单校验

表单校验的作用

为什么要进行表单验证:保证数据符合要求
为什么要进行JavaScript或者jQuery表单验证:
1.降低服务器端负担
2.还可以进行服务器验证(JSP)

正则表达式

为什么使用正则表达式:

简洁的代码 严谨的验证文本框中的内容

正则表达式举例:
匹配国内电话号码:

\d{3}-\d{8}|\d{4}-\d{7}

匹配腾讯QQ号:

[1-9][0-9]{4,}

匹配中国邮政编码:

\d{6}

匹配身份证:

\d{15}|\d{18}

匹配由数字和26个英文字母组成的字符串

^[A-Za-z0-9]+$

匹配Email地址:

\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*

匹配中文字符的正则表达式:

[\u4e00-\u9fa5]

什么是正则表达式:

Regular Expression,在代码中常简写为regex 正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。
在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。 如何创建正则表达式
var reg=/china/;
var reg=new RegExp(" china ");

表单校验代码实现

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><script src="js/jquery-1.9.1.js" type="text/javascript" charset="utf-8"></script><script type="text/javascript">/***********验证码的产生******/function  yzm(){//产生一个4位随机数var ran= Math.floor(Math.random()*9000+1000);$("#yzm2").html(ran);}$(function(){/******用户名的校验******/	$("#uname").blur(function(){var  reg =/^[\u4e00-\u9fa5]{2,4}$/;check("uname",reg);})/*********密码的校验******/$("#pwd").blur(function(){var reg=/^\d{4,6}$/;check("pwd",reg);})/*********手机号校验*******/$("#phone").blur(function(){var reg=/^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/;check("phone",reg);})/*********邮箱校验*********/$("#email").blur(function(){var reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;check("email",reg);})/********抽取公共的方******/function  check(id,reg){//获得对象var  uname=$("#"+id);//获得对象的值var val=uname.val();//获得span对象var  span =$("#span_"+id);if(val==""||val==null){span.html("× "+uname.attr("alt")+"不能为空").css("color","red").addClass("error");}else if(reg.test(val)) {span.html("√ "+uname.attr("alt")+"合法").css("color","green").removeClass();}else {span.html("× "+uname.attr("alt")+"不合法").css("color","red").addClass("error");}}/************爱好的校验******/	$("input[name='fav']").click(function(){var inp=$("input[name='fav']:checked");var  span=$("#span_fav");if(inp.length>0){span.html("√ 爱好选择成功").css("color","green").removeClass();}else {span.html("× 请选择爱好").css("color","red").addClass("error");}})/******籍贯的校验****/	$("#sel").change(function(){var val=$("#sel").val();var span=$("#span_sel");if(val=="0"){span.html("请选择籍贯").css("color","red").addClass("error");}else {span.html("籍贯选择成功").css("color","green").removeClass();}})/***********是否同意协议******/$("#check").click(function(){var flag= $("#check").prop("checked");/*if(flag){$("#sub").prop("disabled",false);}else{$("#sub").prop("disabled",true);}*/$("#sub").prop("disabled",!flag);})/*******最终的提交的操作*****/$("form").submit(function(){	$("#uname").trigger("blur");$("#pwd").trigger("blur");$("#email").trigger("blur");$("#phone").trigger("blur");$("input[name='fav']").trigger("click");$("input[name='fav']").trigger("click");//获得错误的对象var er= $(".error");if(er.length>0){return false;}else {return true;}	})})/** 正则表达式:* 作用: 对于数据格式进行校验* * ^:开始* $:结束* [0-9]所有得数字* [a-z A-Z] 所有的字母* {5} :段域 只可以是5位* {2,5} 最少2位  最多5位* * \d:--[0-9]* \w:--[0-9 a-z  A-Z]和下划线* * 正则表达式网址:  https://www.jb51.net/article/76901.htm* * */</script>
</head><body onload="yzm()"><center><h3>注册页面</h3><hr />                                  <form action="" method="get" ><table><tr height="35px"><td width="150px">用户名:</td><td width="400px"><input type="text" name="uname" id="uname" value="张三三" alt="用户名" /><span id="span_uname"></span></td></tr><tr height="35px"><td>密码:</td><td><input type="password" name="pwd" id="pwd" value="123456" alt="密码"/><span id="span_pwd"></span></td></tr><tr height="35px"><td>手机号:</td><td><input type="text" name="phone" id="phone" value="18231932733" alt="手机号" /><span id="span_phone"></span></td></tr><tr height="35px"><td>邮箱:</td><td><input type="text" name="mail" id="email" value="2767501426@qq.com" alt="邮箱"  /><span id="span_email"></span></td></tr><tr height="35px"><td>性别:</td><td>男:<input type="radio" name="sex"  value="1" />女:<input type="radio" name="sex"  value="0"/></td></tr><tr height="35px"><td>爱好:</td><td><input type="checkbox" name="fav"  value="1" />唱歌<input type="checkbox" name="fav"  value="2" />睡觉<input type="checkbox" name="fav"  value="3"  />LOL<br /><input type="checkbox" name="fav"  value="4"  />旅游<input type="checkbox" name="fav"  value="5" />高尔夫<input type="checkbox" name="fav"  value="6" />篮球<span id="span_fav"></span></td></tr><tr height="35px"><td>籍贯:</td><td><select name="adress" id="sel"><option value="0">--请选择--</option><option value="1">河南</option><option value="2">湖南</option><option value="3">海南</option><option value="4">云南</option></select><span id="span_sel"></span></td></tr>	<tr height="35px"><td>验证码:</td><td><input type="text" style="width: 100px; height: 60px;" id="yzm1" /><span id="yzm2" onclick="yzm()"></span><span id="yzm3"></span></td></tr>	<tr height="35px"><td>个人介绍:</td><td><textarea name="intro" rows="8" cols="30"></textarea></td></tr><tr height="35px"><td colspan="2" align="center"><input type="checkbox" name="" id="check" value="" >是否同一本公司协议</td></tr><tr height="35px"><td colspan="2" align="center"><input type="submit" id="sub" value="注册" disabled="true"/></td></tr></table></form></center>	</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324965.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssl2348-连接格点【图论,最小生成树,并查集】

题目 有一个M行N列的点阵&#xff0c;相邻两点可以相连。一条纵向的连线花费一个单位&#xff0c;一条横向的连线花费两个单位。某些点之间已经有连线了&#xff0c;试问至少还需要花费多少个单位才能使所有的点全部连通。 输入 第一行输入两个正整数m和n。 以下若干行每行…

活动: 北京Xamarin分享会第4期(2017年7月8日)

BXUG(Beijing Xamarin User Group)将举行第4期线下活动&#xff0c;本期内容预告&#xff1a; 案例演讲: "Xamarin原生跨平台开发的风险与收益"分享者: 神秘分享嘉宾Mike&#xff0c;来自国内一线互联网教育公司的研发经理&#xff0c;.NET新时代CTO联盟发起者。方案…

内存模型是怎么解决缓存一致性的

转载自 内存模型是怎么解决缓存一致性的 在再有人问你Java内存模型是什么&#xff0c;就把这篇文章发给他这篇文章中&#xff0c;我们介绍过关于Java内存模型的来龙去脉。 我们在文章中提到过&#xff0c;由于CPU和主存的处理速度上存在一定差别&#xff0c;为了匹配这种差距…

这是什么操作?java中的变量竟然可以先使用后声明?

相信大家在看到标题之后&#xff0c;是疑惑的点进来看内容的。 在看到标题之后&#xff0c;大家肯定会怀疑&#xff0c;我赵某人用java写了好几年的代码了&#xff0c;还真就没见过java中的变量能先用在声明&#xff0c;今天就是进来看看你在没有声明变量的前提下是怎么用的&a…

重写(override / overwrite)

方法的重写(override / overwrite) 1.重写&#xff1a;子类继承父类以后&#xff0c;可以对父类中同名同参数的方法&#xff0c;进行覆盖操作 2.应用&#xff1a;重写以后&#xff0c;当创建子类对象以后&#xff0c;通过子类对象调用子父类中的同名同参数的方法时&#xff0c;…

ssl1613-最短路径问题【图论,最短路径(还不明显?)】

题目 一个图&#xff0c;求两个点的最短路径 输入 第一行为一个整数n。 n行&#xff0c;两个整数x和y&#xff0c;一个点的坐标 一个整数m&#xff0c;表示图中线的个数。 m行&#xff0c;一条线&#xff0c;i,j&#xff0c;表示第i个点和第j个点之间有线。 最后一行&am…

jQuery 表格实现

<script type"text/javascript">$(function(){/******实现全选的操作****/$("#chks").click(function(){//获得当前框的勾选状态var flag $("#chks").prop("checked");$("input[namechk]").prop(checked,flag);})/*…

来吧学学.Net Core之项目文件简介及配置文件与IOC的使用

序言 在当前编程语言蓬勃发展与竞争的时期,对于我们.net从业者来说,.Net Core是风头正紧,势不可挡的.芸芸口水之中,不学习使用Core,你的圈内处境或许会渐渐的被边缘化.所以我们还是抽出一点点时间学学.net core吧. 那VS Code 可以编写,也可以调试Core本人也尝试啦下,但是感觉…

真正的问题应该在我身上……

渐渐地&#xff0c;学生已进入学习状态。在未测试之前&#xff0c;一直以为大家都学的很好&#xff0c;从课堂上的互动氛围就可以看得出来&#xff0c;一问问题&#xff0c;你一言他一语的……在测试之后&#xff0c;真是让我大跌眼镜&#xff0c;平时感觉表现很好的学生们&…

搞定计算机网络面试,看这篇就够了

转载自 搞定计算机网络面试&#xff0c;看这篇就够了 文章目录结构&#xff1a; 一 OSI与TCP/IP各层的结构与功能&#xff0c;都有哪些协议 运输层主要使用以下两种协议&#xff1a; UDP的主要特点&#xff1a; TCP的主要特点&#xff1a; 域名系统&#xff08;Domain Nam…

来吧学学.Net Core之登录认证与跨域资源使用

序言 学习core登录认证与跨域资源共享是越不过的砍,所以我在学习中同样也遇到啦这两个问题,今天我们就用示例来演示下使用下这2个技术点吧. 本篇主要内容如下: 1、展示一个登录认证的简单示例 2、跨域资源访问 3、跨域获取登录认证的用户信息 .Net Core使用身份认证(Auth…

ssl1760-商店选址问题【图论,最短路】

题目 给出一个城市的地图&#xff08;用邻接矩阵表示&#xff09;&#xff0c;商店设在一点&#xff0c;使各个地方到商店距离之和最短。 输入 第一行为n&#xff08;共有几个城市&#xff09;&#xff1b; N小于201 之后邻接矩阵 3 0 3 1 3 0 2 1 2 0 输出 最短路径…

JSP 获得服务器时间和浏览器时间

发布项目到服务器并访问 创建Web项目&#xff0c;开发静态页面 部署到服务器Tomcat 启动服务器Tomcat 不同用户通过浏览器来访问Web项目 Web项目和Java项目的区别 Web项目需要JavaEE的类库 Web项目中还可以存放静态网页和动态网页 开发目录和部署目录的区别 开发目录&…

如果要你选择某读书APP的图标,你会选择哪一个?

声明&#xff1a;介于尊重每位同学的劳动成果&#xff0c;故本文所有广告收入、赞赏均会均分给同学们&#xff01;最近学到了平面设计基础&#xff0c;于是让同学们用所学知识以“读书”为主题&#xff0c;原创了各式各样的图标&#xff0c;也许屏幕前的你只是轻轻的一划而过&a…

从理论知识到落地能力,你欠缺了什么?

转载自 从理论知识到落地能力&#xff0c;你欠缺了什么&#xff1f; 本文是一个理论过度到实践的典型案例&#xff0c;借助程序员经常遇到的一个问题——网络为什么不通&#xff0c;来具体说明怎么将书本上的死知识真正变成我们解决问题的能力。 大学学到的基本概念 我相信…

三大特性之多态性

1.理解多态性&#xff1a;可以理解为一个事物的多种形态。 2.何为多态性&#xff1a; 对象的多态性&#xff1a;父类的引用指向子类的对象&#xff08;或子类的对象赋给父类的引用&#xff09; 3.多态的使用&#xff1a;虚拟方法调用 有了对象的多态性以后&#xff0c;我们在编…

在这里,我们为您绘制了专属海报,请您查收!

树叶在空中飘荡&#xff0c;谱写着一曲感恩的乐章&#xff0c;那是大树对滋养它的大地的感恩;白云在蔚蓝的天空中飘荡&#xff0c;绘画着那一幅幅感人的画面&#xff0c;那是白云对哺育它的蓝天的感恩。我们沐浴着爱的阳光长大&#xff0c;我们滋润着人间的真情成长&#xff0c…

ssl1761-城市问题【图论,最短路,Dijkstra】

题目 一个图&#xff0c;输出从k点到每个点的最短路 输入 第一行有两个整数n和k&#xff0c;中间用空格隔开&#xff1b;以下是一个NxN的矩阵&#xff0c;表示点间的距离。 3 1 0 3 1 3 0 2 1 2 0 输出 输出点k到各点的距离 3 0 2 解题思路 用Dijkstra算法&#xff…

10分钟就能学会的.NET Core配置

.NET Core为我们提供了一套用于配置的API&#xff0c;它为程序提供了运行时从文件、命令行参数、环境变量等读取配置的方法。配置都是键值对的形式&#xff0c;并且支持嵌套&#xff0c;.NET Core还内建了从配置反序列化为POCO对象的支持。 目前支持以下配置Provider&#xff…

String 使用不当可能导致内存泄露

转载自 String 使用不当可能导致内存泄露 String是Java中一个比较基础的类&#xff0c;每一个开发人员都会经常接触到。而且&#xff0c;String也是面试中经常会考的知识点。String有很多方法&#xff0c;有些方法比较常用&#xff0c;有些方法不太常用。 今天介绍一个Strin…