1、英文字母

 1 <script type="text/javascript">
2 //验证只能是字母
3 function checkZm(zm){
4 var zmReg=/^[a-zA-Z]*$/;
5 if(zm!=""&&!zmReg.test(zm)){
6 alert("只能是英文字母!");
7 return false;
8 }
9 }
10 </script>

2、汉字

1 <input type="text" onblur="isChinese(this.value)" placeholder="请输入中文!" />
2 <script language="javascript">
3 function isChinese(obj){
4 var reg=/^[\u0391-\uFFE5]+$/;
5 if(obj!=""&&!reg.test(obj)){
6 alert(‘必须输入中文!‘);
7 return false;
8 }
9 }
10 </script>

3、数字

1 <script language=javascript>
2 //验证只能为数字
3 function checkNumber(obj){
4 var reg = /^[0-9]+$/;
5 if(obj!=""&&!reg.test(obj)){
6 alert(‘只能输入数字!‘);
7 return false;
8 }
9 }
10 </script>

4、时间(限制不能大于当前时间)

1 <script type="text/javascript">
2 //检验时间大小(与当前时间比较)
3 function checkDate(obj){
4 var obj_value=obj.replace(/-/g,"/");//替换字符,变成标准格式(检验格式为:‘2009-12-10‘)
5 // var obj_value=obj.replace("-","/");//替换字符,变成标准格式(检验格式为:‘2010-12-10 11:12‘)
6 var date1=new Date(Date.parse(obj_value));
7 var date2=new Date();//取今天的日期
8 if(date1>date2){
9 alert("不能大于当前时间!");
10 return false;
11 }
12 }
13 </script>

5、空值

1 <script language="javascript">
2 function CheckForm(obj)
3 {
4 if (obj.length == 0) {
5 alert("姓名不能为空!");
6 return false;
7 }
8 return true;
9 alert("姓名不能为空!");
10 }
11 </script>

6、邮箱

1 <script language="javascript">
2 function test(obj){
3 //对电子邮件的验证
4 var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
5 if(!myreg.test(obj))
6 {
7 alert(‘请输入有效的邮箱!‘);
8 return false;
9 }
10 }
11 </script>

7、手机号

1 <script type="text/javascript">
2 function validatemobile(mobile) {
3 if(mobile.length==0) {
4 alert(‘手机号码不能为空!‘);
5 return false;
6 }
7 if(mobile.length!=11) {
8 alert(‘请输入有效的手机号码,需是11位!‘);
9 return false;
10 }
11
12 var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
13 if(!myreg.test(mobile)) {
14 alert(‘请输入有效的手机号码!‘);
15 return false;
16 }
17 }
18 </script>

8、身份证号

1 <script type="text/javascript">
2 // 构造函数,变量为15位或者18位的身份证号码
3 function clsIDCard(CardNo) {
4 this.Valid=false;
5 this.ID15=‘‘;
6 this.ID18=‘‘;
7 this.Local=‘‘;
8 if(CardNo!=null)this.SetCardNo(CardNo);
9 }
10
11 // 设置身份证号码,15位或者18位
12 clsIDCard.prototype.SetCardNo = function(CardNo) {
13 this.ID15=‘‘;
14 this.ID18=‘‘;
15 this.Local=‘‘;
16 CardNo=CardNo.replace(" ","");
17 var strCardNo;
18 if(CardNo.length==18) {
19 pattern= /^\d{17}(\d|x|X)$/;
20 if (pattern.exec(CardNo)==null)return;
21 strCardNo=CardNo.toUpperCase();
22 } else {
23 pattern= /^\d{15}$/;
24 if (pattern.exec(CardNo)==null)return;
25 strCardNo=CardNo.substr(0,6)+‘19‘+CardNo.substr(6,9)
26 strCardNo+=this.GetVCode(strCardNo);
27 }
28 this.Valid=this.CheckValid(strCardNo);
29 }
30
31 // 校验身份证有效性
32 clsIDCard.prototype.IsValid = function() {
33 return this.Valid;
34 }
35
36 // 返回生日字符串,格式如下,1981-10-10
37 clsIDCard.prototype.GetBirthDate = function() {
38 var BirthDate=‘‘;
39 if(this.Valid)BirthDate=this.GetBirthYear()+‘-‘+this.GetBirthMonth()+‘-‘+this.GetBirthDay();
40 return BirthDate;
41 }
42
43 // 返回生日中的年,格式如下,1981
44 clsIDCard.prototype.GetBirthYear = function() {
45 var BirthYear=‘‘;
46 if(this.Valid)BirthYear=this.ID18.substr(6,4);
47 return BirthYear;
48 }
49
50 // 返回生日中的月,格式如下,10
51 clsIDCard.prototype.GetBirthMonth = function() {
52 var BirthMonth=‘‘;
53 if(this.Valid)BirthMonth=this.ID18.substr(10,2);
54 if(BirthMonth.charAt(0)==‘0‘)BirthMonth=BirthMonth.charAt(1);
55 return BirthMonth;
56 }
57
58 // 返回生日中的日,格式如下,10
59 clsIDCard.prototype.GetBirthDay = function() {
60 var BirthDay=‘‘;
61 if(this.Valid)BirthDay=this.ID18.substr(12,2);
62 return BirthDay;
63 }
64
65 // 返回性别,1:男,0:女
66 clsIDCard.prototype.GetSex = function() {
67 var Sex=‘‘;
68 if(this.Valid)Sex=this.ID18.charAt(16)%2;
69 return Sex;
70 }
71
72 // 返回15位身份证号码
73 clsIDCard.prototype.Get15 = function() {
74 var ID15=‘‘;
75 if(this.Valid)ID15=this.ID15;
76 return ID15;
77 }
78
79 // 返回18位身份证号码
80 clsIDCard.prototype.Get18 = function() {
81 var ID18=‘‘;
82 if(this.Valid)ID18=this.ID18;
83 return ID18;
84 }
85
86 // 返回所在省,例如:上海市、浙江省
87 clsIDCard.prototype.GetLocal = function() {
88 var Local=‘‘;
89 if(this.Valid)Local=this.Local;
90 return Local;
91 }
92
93 clsIDCard.prototype.GetVCode = function(CardNo17) {
94 var Wi = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
95 var Ai = new Array(‘1‘,‘0‘,‘X‘,‘9‘,‘8‘,‘7‘,‘6‘,‘5‘,‘4‘,‘3‘,‘2‘);
96 var cardNoSum = 0;
97 for (var i=0; i<CardNo17.length; i++)cardNoSum+=CardNo17.charAt(i)*Wi[i];
98 var seq = cardNoSum%11;
99 return Ai[seq];
100 }
101
102 clsIDCard.prototype.CheckValid = function(CardNo18) {
103 if(this.GetVCode(CardNo18.substr(0,17))!=CardNo18.charAt(17))return false;
104 if(!this.IsDate(CardNo18.substr(6,8)))return false;
105 var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江 ",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北 ",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏 ",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};
106 if(aCity[parseInt(CardNo18.substr(0,2))]==null)return false;
107 this.ID18=CardNo18;
108 this.ID15=CardNo18.substr(0,6)+CardNo18.substr(8,9);
109 this.Local=aCity[parseInt(CardNo18.substr(0,2))];
110 return true;
111 }
112
113 clsIDCard.prototype.IsDate = function(strDate) {
114 var r = strDate.match(/^(\d{1,4})(\d{1,2})(\d{1,2})$/);
115 if(r==null)return false;
116 var d= new Date(r[1], r[2]-1, r[3]);
117 return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[2]&&d.getDate()==r[3]);
118 }
119
120
121 function valiIdCard(idCard){
122 var checkFlag = new clsIDCard(idCard);
123 if (!checkFlag.IsValid()) {
124 alert("输入的身份证号无效,请输入真实的身份证号!");
125 document.getElementByIdx("idCard").focus();
126 return false;
127 }else{
128 alert("是有效身份证!");
129 }
130 }
131 </script>

input表单验证(全面)的更多相关文章

  1. css实现input表单验证

    有没有办法只通过css来确定input标签是否有输入? 我有这个想法是因为我想完成一个自动补全的input部件,最基本的功能是: 如果input没有内容,这隐藏下拉框 反之,显示下拉框 我找到了一个也 ...

  2. input表单验证

    1.屏蔽输入法(只是不能输入中文还可以输入特殊字符)<input style="ime-mode:disabled" onkeydown="if(event.key ...

  3. jQuery学习之路(8)- 表单验证插件-Validation

    ▓▓▓▓▓▓ 大致介绍 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 ...

  4. 玩转spring boot——AOP与表单验证

    AOP在大多数的情况下的应用场景是:日志和验证.至于AOP的理论知识我就不做赘述.而AOP的通知类型有好几种,今天的例子我只选一个有代表意义的“环绕通知”来演示. 一.AOP入门 修改“pom.xml ...

  5. form表单验证-Javascript

    Form表单验证: js基础考试内容,form表单验证,正则表达式,blur事件,自动获取数组,以及css布局样式,动态清除等.完整代码如下: <!DOCTYPE html PUBLIC &qu ...

  6. ASP.NET MVC5+EF6+EasyUI 后台管理系统(33)-MVC 表单验证

    系列目录 注:本节阅读需要有MVC 自定义验证的基础,否则比较吃力 一直以来表单的验证都是不可或缺的,微软的东西还是做得比较人性化的,从webform到MVC,都做到了双向验证 单单的用js实现的前端 ...

  7. 实现跨浏览器html5表单验证

    div:nth-of-type(odd){ float: left; clear: left; } .origin-effect > div:nth-of-type(even){ float: ...

  8. jQuery Validate 表单验证 — 用户注册简单应用

    相信很多coder在表单验证这块都是自己写验证规则的,今天我们用jQuery Validate这款前端验证利器来写一个简单的应用. 可以先把我写的这个小demo运行试下,先睹为快.猛戳链接--> ...

  9. jquery validate表单验证插件-推荐

    1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.     1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素  3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...

随机推荐

  1. [Chromium文档转载,第003章]Proposal: Mojo Synchronous Methods

    Proposal: Mojo Synchronous Methods yzshen@chromium.org 02/02/2016 Overview Currently there are quite ...

  2. @Accessors

    @Accessors 作用:存取器,用于配置getter和setter方法的生成结果 三个属性:fluent.chain.prefix 1.fluent:流畅的,设置为true,getter和sett ...

  3. HDOJ 5306 Gorgeous Sequence 线段树

    http://www.shuizilong.com/house/archives/hdu-5306-gorgeous-sequence/ Gorgeous Sequence Time Limit: 6 ...

  4. Android圆形图片不求人,自定义View实现(BitmapShader使用)

    在很多APP当中,圆形的图片是必不可少的元素,美观大方.本文将带领读者去实现一个圆形图片自定View,力求只用一个Java类来完成这件事情. 一.先上效果图 二.实现思路 在定义View 的onMea ...

  5. How to install Armbian on Orange Pi Plus 2e

    bian on Orange Pi Plus 2e How to install Armbian on Orange Pi Plus 2e Armbian on the microSD You jus ...

  6. 三个角度解构云计算,商业驱动or技术驱动?

    从云计算的使用者到云服务的输出者,大多互联网公司在过去一年完成了角色的转换,也让云计算的未来更加扑朔迷离.不过,抛却进入时间这个评判因素,单从技术和商业化的角度来解构云计算的话,对于云计算的格局以及未 ...

  7. RTP 和 RTSP的区别

    RTP(Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输协议.RTP被定义为在一对一或一对多的传输情况下工作.其目的是提供时间信息和实现流同 ...

  8. linux环境下禅道搭建

    1.下载禅道安装包,根据操作系统的版本: 2.上传包到linux的opt目录中: 3.解压包: cd /opt tar xzvf 禅道包名称,如:tar xzvf ZenTaoPMS.8.1.3.zb ...

  9. c# for 和 foreach

    1给定长度 不需要计算长度的 for比foreach循环效率高 2 在不确定长度 或者计算长度有性能损耗的时候 用foreach比较方便 2336 循环语句是编程的基本语句,在C#中除了沿用C语言的循 ...

  10. HDU 2689 Tree

    Tree Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...