rom表单数据的合法性验证是个很常见的需求,jQuery提供了一个插件:jquery validate 官网下载。
若想使用需先引用jquery.validate.js,并且要在jquery.js之后引用。
<script src="//cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<script src="js/jquery.validate.js"></script>
把现在写的项目拿来演示一下,其使用了bootstrap框架。
$(function() {
jQuery.validator.addMethod("regUserName",
function(value, element) {
return this.optional(element) || /^[0-9]*[a-zA-Z_\u4e00-\u9fa5]+[0-9]*$/.test(value);
},
"注册昵称为4-10位数字、下划线、中文或英文字母,但不能全是数字"); jQuery.validator.addMethod("isMobile",
function(value, element) {
var length = value.length;
var mobile = /^((\(\d{2,3}\))|(\d{3}\-))?1[3,8,5]{1}\d{9}$/;
return this.optional(element) || (length == 11 && mobile.test(value));
},
"请正确填写您的手机号码"); //登录帐号合法性验证 jQuery.validator.addMethod("logAccountCheck", function (value, element) { var length = value.length; var mobile = /^((\(\d{2,3}\))|(\d{3}\-))?1[3,8,5]{1}\d{9}$/; return this.optional(element) || (length == 11 && mobile.test(value)) || /^[\u0391-\uFFE5\w]+$/.test(value); }, "昵称不符合登录规则");$("#fillForm").validate({ errorElement: 'span', errorClass: 'help-block', focusInvalid: false, rules: { new_userName: { required: true, regUserName: true, minlength: 4, maxlength: 10 }, new_userPwd: { required: true, rangelength: [5, 15] }, new_userPwd_twice: { required: true, equalTo: "#new_userPwd" }, new_userEmail: { required: true, email: true }, new_userPhone: { required: true, isMobile:true, digits: true, minlength: 11, maxlength: 11 }, new_userBirth: { required: true }, new_userCollege: { required: true }, new_userMajor: { required: true } }, messages: { new_userName: { required: '昵称不能为空', minlength: '昵称最少为4位', maxlength: '昵称最多为10位' }, new_userPwd: { required: '密码不能为空', rangelength: $.validator.format("密码长度必须在 {0} 到 {1} 之间") }, new_userPwd_twice: { required: '此项不能为空', equalTo: '两次输入的密码必须一致' }, new_userEmail: { required: '邮箱不能为空', email: '邮箱格式不正确(例如: xxx@xx.com)' }, new_userPhone: { required: '电话号不能为空', digits: '电话号必须是数字', minlength: '电话号为11位', maxlength: '电话号为11位' }, new_userBirth: { required: '生日不能为空' }, new_userCollege: { required: '学院不能为空' }, new_userMajor: { required: '专业不能为空' } }, highlight: function (element) { $(element).closest('.form-group').addClass('has-error'); }, success: function (label) { label.closest('.form-group').removeClass('has-error').addClass('has-success'); label.remove(); }, errorPlacement: function (error, element) { element.parent('div').after(error); }, submitHandler: function (form) { var result = { "new_userName": $("#new_userName").val(), "new_userPwd": $("#new_userPwd").val(), "new_userEmail": $("#new_userEmail").val(), "new_userPhone": $("#new_userPhone").val(), "new_userBirth": $("#new_userBirth").val(), "new_userGender": $("input[name='new_userGender']:checked").val(), "new_userCollege": $("#new_userCollege").val() + ',' + $("#new_userMajor").val() }; result.new_userIP = ip; var res = JSON.stringify(result); alert(res); return false; } })})
html文件跟平常一样,主要在js中进行验证:
$(function() {
jQuery.validator.addMethod("regUserName",
function(value, element) {
return this.optional(element) || /^[0-9]*[a-zA-Z_\u4e00-\u9fa5]+[0-9]*$/.test(value);
},
"注册昵称为4-10位数字、下划线、中文或英文字母,但不能全是数字"); jQuery.validator.addMethod("isMobile",
function(value, element) {
var length = value.length;
var mobile = /^((\(\d{2,3}\))|(\d{3}\-))?1[3,8,5]{1}\d{9}$/;
return this.optional(element) || (length == 11 && mobile.test(value));
},
"请正确填写您的手机号码"); //登录帐号合法性验证 jQuery.validator.addMethod("logAccountCheck", function (value, element) { var length = value.length; var mobile = /^((\(\d{2,3}\))|(\d{3}\-))?1[3,8,5]{1}\d{9}$/; return this.optional(element) || (length == 11 && mobile.test(value)) || /^[\u0391-\uFFE5\w]+$/.test(value); }, "昵称不符合登录规则");$("#fillForm").validate({ errorElement: 'span', errorClass: 'help-block', focusInvalid: false, rules: { new_userName: { required: true, regUserName: true, minlength: 4, maxlength: 10 }, new_userPwd: { required: true, rangelength: [5, 15] }, new_userPwd_twice: { required: true, equalTo: "#new_userPwd" }, new_userEmail: { required: true, email: true }, new_userPhone: { required: true, isMobile:true, digits: true, minlength: 11, maxlength: 11 }, new_userBirth: { required: true }, new_userCollege: { required: true }, new_userMajor: { required: true } }, messages: { new_userName: { required: '昵称不能为空', minlength: '昵称最少为4位', maxlength: '昵称最多为10位' }, new_userPwd: { required: '密码不能为空', rangelength: $.validator.format("密码长度必须在 {0} 到 {1} 之间") }, new_userPwd_twice: { required: '此项不能为空', equalTo: '两次输入的密码必须一致' }, new_userEmail: { required: '邮箱不能为空', email: '邮箱格式不正确(例如: xxx@xx.com)' }, new_userPhone: { required: '电话号不能为空', digits: '电话号必须是数字', minlength: '电话号为11位', maxlength: '电话号为11位' }, new_userBirth: { required: '生日不能为空' }, new_userCollege: { required: '学院不能为空' }, new_userMajor: { required: '专业不能为空' } }, highlight: function (element) { $(element).closest('.form-group').addClass('has-error'); }, success: function (label) { label.closest('.form-group').removeClass('has-error').addClass('has-success'); label.remove(); }, errorPlacement: function (error, element) { element.parent('div').after(error); }, submitHandler: function (form) { var result = { "new_userName": $("#new_userName").val(), "new_userPwd": $("#new_userPwd").val(), "new_userEmail": $("#new_userEmail").val(), "new_userPhone": $("#new_userPhone").val(), "new_userBirth": $("#new_userBirth").val(), "new_userGender": $("input[name='new_userGender']:checked").val(), "new_userCollege": $("#new_userCollege").val() + ',' + $("#new_userMajor").val() }; result.new_userIP = ip; var res = JSON.stringify(result); alert(res); return false; } })})
简单用法:
1.:rules里定义输入框规则,常见的有required, minlength, maxlength, email, 其中使用输入框的name属性来指定输入框。
2:messages里定义当输入内容不符合规则时显示的信息,如果自定义则显示默认的错误信息。
3:可以自定义规则,比如上面代码开头部分定义了自定义规则,可以根据自己的需求仿照代码即可,而且网上也提供了现成的自定义验证规则。
4:当输入框均符合规则时,可以点击提交,此时,会指定submitHandler函数。
月1日下午,海东支队联合平安区乐都路社区共同举办“军民鱼水情 共庆建党节”联欢会。支队机关全体官兵、平安、工业园区中队部分官兵以及社区群众、演出人员共计200余人参加了此次联欢会。
整台联欢会由支队官兵、社区文艺队队员精心编排、表演,融合舞蹈、管乐合奏、歌曲、快板、诗朗诵等多种艺术形式为一体,主题突出,时代气息鲜明,充分展现了新时期和谐警民关系,用文艺联欢形式为党的生日献上了最美好的祝福,唱响警民鱼水深情。
联欢会在激昂的管乐合奏《中国人民解放军进行曲》、《咱当兵的人》中拉开序幕,表现了当代革命军人用生命书写荣耀和刚强的英勇气概;支队机关官兵和社区文艺队队员们共同带来的大合唱《没有共产党就没有新中国》、《我的祖国》进一步拉近了消防官兵与人民群众的距离,展现了警民和谐的温馨画面;工业园区官兵用诗歌朗诵《今天是你的生日》表达了对党的生日美好的祝愿;快板《“两学一做”实话好》更是突出了今年“两学一做”学习教育主题,用创新的艺术形式展现了教育成效,丰富了教育理念;社区文艺队带来的舞蹈《张灯结彩》、《草原上的祝福》、男声独唱等节目更是将联欢会推向了高潮。
联欢会在舞蹈《扎西德勒》中圆满落下帷幕,领导和全体演职人员纷纷上台合影留念,共谱警民鱼水情深的欢乐场景。广大官兵纷纷表示,新的起点、新的跨越,新的征程,将始终坚持坚定的政治信念,在中国共产党的正确领导下,勇往直前、百折不挠,同心同德、克难奋进,以时不我待、敢为人先、开拓创新的精神迎接全新的挑战,为海东市消防事业跨越式发展做出更大贡献。
T之家讯 今天,微软Internet Explorer浏览器迎来20岁生日,Win10Edge浏览器在推特上发表了祝词,向IE多年来所做出的贡献表示感谢,并且将接棒IE继续为用户服务。
让我们来简单回顾下IE的成长历史:
在1995年8月16日微软发布了Internet Explorer 1.0,作为Windows的重要组成部分,当时Internet Explorer 1.0作为Plus!增值包的一部分提供给Windows 95用户,价值49美元的Plus!还包含了各式各样的屏保、主题、游戏等。
IE1.0
那时人们还在使用拨号调制解调器以及拥有蹩脚分辨率的CRT显示屏。Internet Explorer 1.0仅有1MB大小,只有简单的上网功能,甚至都没有查看图像和动态内容的能力。
多年来微软为Internet Explorer付出了很大精力,尤其是在反垄断问题上。IE诞生于美国在线与Netscape主导的互联网时代,由此也引发了一场浏览器大战。
同年晚些时候微软发布Internet Explorer 2. 0,随后又在1996年推出Internet Explorer 3.0。Internet Explorer 3.0带来了漂亮的蓝色“e”Logo。另外,Internet Explorer 3.0还支持一些CSS,并且可在浏览器中显示图像。在Internet Explorer 4.0中微软正式引入Trident引擎,一直沿用到现在。由于Internet Explorer 4.0是与Windows 98捆绑在一起,因此很快获得了大量市场份额,最后直接导致了Netscape的消亡。
1999年,微软推出Internet Explorer 5.0,在2001年又随Windows XP推出了Internet Explorer 6.0。伴随XP,Internet Explorer 6服役了6年之久,直到现在还有人在坚持使用。2006年,Internet Explorer 7诞生,我们也首次在IE中看到了选项卡功能,它支持RSS以及防范网络钓鱼攻击,此时Mozilla Firefox才刚刚诞生。
IE6.0
2009年,微软发布Internet Explorer 8.0,与Mozilla Firefox和Google Chrome展开竞争。然而微软在欧洲却遭遇到浏览器捆绑调查,最终微软不得不在特定区域的系统中提供一个选择界面,让消费者决定在Win7中选择使用哪个浏览器。
IE8
2011年,Internet Explorer 9诞生,这是自Internet Explorer 2.0发布以来首个没有与操作系统捆绑在一起的浏览器,Win7用户可单独下载,但不支持XP。Internet Explorer 10于2012年完成,成为Win8的默认浏览器,也提供给Win7用户升级。
IE9
最后在2013年年末,微软发布了最后一个Internet Explorer版本,即Internet Explorer 11。时间总是在不经意间悄悄溜走,转眼到了2015年,Windows10也已正式发布,作为Win10默认浏览器,Edge开始登场,Trident引擎也升级为EdgeHTM。
IE11 & Edge浏览器
虽然IE11作为备用浏览器在Win10中继续保留,但微软的目标是让Edge取代IE。在互联网中服务长达20年之后,Internet Explorer将逐渐退役,但人们不会将其遗忘。(via: WinBeta)
*请认真填写需求信息,我们会在24小时内与您取得联系。