input表单验证(全面)
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表单验证(全面)的更多相关文章
- css实现input表单验证
有没有办法只通过css来确定input标签是否有输入? 我有这个想法是因为我想完成一个自动补全的input部件,最基本的功能是: 如果input没有内容,这隐藏下拉框 反之,显示下拉框 我找到了一个也 ...
- input表单验证
1.屏蔽输入法(只是不能输入中文还可以输入特殊字符)<input style="ime-mode:disabled" onkeydown="if(event.key ...
- jQuery学习之路(8)- 表单验证插件-Validation
▓▓▓▓▓▓ 大致介绍 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 ...
- 玩转spring boot——AOP与表单验证
AOP在大多数的情况下的应用场景是:日志和验证.至于AOP的理论知识我就不做赘述.而AOP的通知类型有好几种,今天的例子我只选一个有代表意义的“环绕通知”来演示. 一.AOP入门 修改“pom.xml ...
- form表单验证-Javascript
Form表单验证: js基础考试内容,form表单验证,正则表达式,blur事件,自动获取数组,以及css布局样式,动态清除等.完整代码如下: <!DOCTYPE html PUBLIC &qu ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(33)-MVC 表单验证
系列目录 注:本节阅读需要有MVC 自定义验证的基础,否则比较吃力 一直以来表单的验证都是不可或缺的,微软的东西还是做得比较人性化的,从webform到MVC,都做到了双向验证 单单的用js实现的前端 ...
- 实现跨浏览器html5表单验证
div:nth-of-type(odd){ float: left; clear: left; } .origin-effect > div:nth-of-type(even){ float: ...
- jQuery Validate 表单验证 — 用户注册简单应用
相信很多coder在表单验证这块都是自己写验证规则的,今天我们用jQuery Validate这款前端验证利器来写一个简单的应用. 可以先把我写的这个小demo运行试下,先睹为快.猛戳链接--> ...
- jquery validate表单验证插件-推荐
1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家. 1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素 3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...
随机推荐
- CSS3新的UI方案
文本新增样式 一.opacity:指定了一个元素的透明度 0~1 二.新增颜色模式rgba:很好的解决了背景透明,字体颜色不透明的需求. 三.文字阴影:text-shadow用来为文字添加阴影,而且可 ...
- mysql源码安装(包括5.5和5.7)
1.mysql5.5源码安装 yum install -y cmake ncurses-devel ncurses cd /usr/src wget -c https://cdn.mysql.com/ ...
- caioj 1065 动态规划入门(一维一边推3:合唱队形)
就是最长上升子序列,但是要用n^2的算法. #include<cstdio> #include<algorithm> #define REP(i, a, b) for(int ...
- 兼容IE浏览器的canvas画线和圆圈
1.新建test.html文件,代码如下: <!DOCTYPE html><html><head> <meta charset="utf-8& ...
- jquery autocomplete文本自己主动补全
文本自己主动补全功能确实非常有用. 先看下简单的效果:(样式不咋会写) 以下介绍几种: 1:jqery-actocomplete.js 这个网上有个写好的实例,上面挺具体的,能够下来执行下就清楚了就不 ...
- 【BUG】"main" prio=5 tid=1 RUNNABLE
载入超大效果图导致内存不足(GC/ANR) 06-30 11:42:56.624: D/dalvikvm(16264): GC_CONCURRENT freed 1982K, 7% free 4537 ...
- ios—项目开发需求文档
电子商务产品项目需求方案 模块 标准 接入方式 后台(大致需求说明) 前端 购 实物 多商户接入,可支付商品: 基础功能 功能说明 所有须要 Lbs .城市选择,分享.商区.搜索.返回.关闭 LBS: ...
- DSP开发中遇到的问题 - 类指针未初始化后果
收到RECEIVE_REQ_MSG消息时会运行以下的代码,这里由于某种原因m_receiverSlaverController的值仍为NULL,并没有指向详细的CReceiverSlaverContr ...
- 深入浅出微服务框架dubbo(一):基础篇
一.基础篇 1.1 开篇说明 dubbo是一个分布式服务框架,致力于提供高性能透明化RPC远程调用方案,提供SOA服务治理解决方案.本文旨在将对dubbo的使用和学习总结起来,深入源码探究原理,以备今 ...
- js闭包中注意文字总结
//闭包注意的点 //闭包中使用外部变量不是复制而是引用 //闭包可以节省传递参数问题 //在循环中使用闭包