【简单易懂】JavaScript使用正则表达式判断手机号、身份证号码及用户名格式_一见你就笑i的博客-程序员秘密

技术标签: JavaScript  JS  正则表达式  表单验证  

直接上代码,有问题留言

JavaScript代码:

function validateMobile(phone){
			if(phone.length == 0){
				alert("请输入手机号码!")
				return false;
			}
			if(phone.length != 11){
				alert("请输入有效的手机号码");
				return false;
			}
			var myreg = /^[1][3,4,5,7,8][0-9]{9}$/;
			if(!myreg.test(phone)){
				alert("请输入正确的手机号码格式!");
				return false;
			}
			return true;
		}
		
		function validateIdCardNumber(identity_code){
	   // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X 
			var myreg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
			if(!myreg.test(identity_code)){
				alert("身份证输入不是有效格式");
				return false;
			}
			return true;
		}
		
		function validateName(name){
			//用户名不能为空
			if(name.length == 0){
				alert("用户名不能为空");
				return false;
			}
			return true;
		}
		function validateIdCardImage(filepathIdCardImg){
			//上传身份证文件不能为空
			if(filepathIdCardImg.length == 0){
				alert("请上传正确的身份证图片,否则后台审核不通过");
				return false;
			}
			return true;
		}
		function validateContractImg(filepathContractImg){
			//上传委托合同管理文件不能为空
			if(filepathContractImg.length == 0){
				alert("请上传正确的委托管理合同图片,否则后台审核不通过");
				return false;
			}
			return true;
		}
	    function add(){
	    	 var flag = false;
	    	 //用户名字不能为空
			 var name = $("#name").val();
	    	 flag = validateName(name);
	    	 if(!flag){
	    		 return false;
	    	 }
	    	 //手机号码格式验证
	    	 var phone = $("#telephone").val();
	    	 flag = validateMobile(phone);
	    	 if(!flag){
	    		 return false;
	    	 }
	    	 //身份证号码格式验证
	    	 var identity_code = $("#identity_code").val();
	    	 flag = validateIdCardNumber(identity_code);
	    	 if(!flag){
	    		 return false;
	    	 }
	    	 //上传的身份证图片不能为空
	    	 var filepathIdCardImg = $("#identity_img1").html();
	    	 flag = validateIdCardImage(filepathIdCardImg);
	    	 if(!flag){
	    		 return false;
	    	 }
	    	 //上传的委托管理合同照片不能为空
	    	 var filepathContractImg = $("#identity_img2").html();
	    	 flag = validateContractImg(filepathContractImg);
	    	 if(!flag){
	    		 return false;
	    	 } 
	    	 if(window.confirm("你确定要提交审核吗? 后台审核后方可查看提交的房东信息!")){
		    	 var data = $("#form").serializeJSON();
		    	 $.ajax({
		    		 url:'FLandLordMsgController_doAddLandlord',
		    		 data:data,
		    		 dataType:'json',
		    		 type:'post',
		    		 success:function (rtn){
		    			 if(rtn.result){
		    				 $("#btnAd").remove();
		    				 alert("提交成功");
		    			 }else{
		    				 alert("提交失败 "+ rtn.msg);
		    			 }
		    		 }
		    	 })
	    	 }else{
	    		 return false;
	    	 }

	     }



JSP代码:

<div class="menu_list">
			<div class="checkinManger addCheckIn" style="margin-top: 0;">
				<ul>
					<li>姓名</li>
					<li><input id="name" type="text" name="name" placeholder="张*"></li>
				</ul>
				<ul>
					<li>电话</li>
					<li><input id="telephone" type="text" name="telephone" placeholder="136****9450"></li>
				</ul>
				<ul>
					<li>身份证号码</li>
					<li><input id="identity_code" type="text" name="identity_code" placeholder="411522********42**"></li>
				</ul>
				<ul>
					<li>身份证照片</li>
					<li style="width: 60%"><!-- <input type="file" name="identity_img"> -->
						<p class="uploadBtn">
							<input type="file" id="identity_img" name="file" οnchange="uploadcover(identity_img);" accept="image/*" capture="camera">
							<abbr class="borderRadius5">拍照</abbr>
						</p>
						<span  id="identity_img1"  class="imgHeig" style="width: 50%;text-align: left;float: left;"></span>
					</li>
				</ul>
				<ul>
					<li>管理合同</li>
					<li style="width: 60%">
						<p class="uploadBtn">
							<input type="file" id="contract_img" name="file" οnchange="uploadcover(contract_img);" accept="image/*" capture="camera" style="width: 80%;float: left;margin-top: 0.5rem;">
							<abbr class="borderRadius5">拍照</abbr>
						</p>
						<span  id="identity_img2"  class="imgHeig" style="width: 20%;text-align: left;"></span>
					</li>
				</ul>
			</div>
			<ul class="modifyPwdB">
				<a id="btnAd" href="javascript:void(0)" οnclick="add()"><li class="btnbgColor borderRadius300" style="margin-top: 0.5rem;">提交审核</li></a>
			</ul>
		</div>


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zxwu_1993/article/details/80409402

智能推荐

solidworks导出obj模型和mtl材质_暴躁的野生猿的博客-程序员秘密_solidworks导出obj

目录0、使用STL格式中转1、使用solidworks宏2、使用opencascade软件+step格式中转为何会有这种需求?因为大多数3D库,都支持导入obj模型和mtl材质,例如webGL、qt3D等,而我只会用solidworks进行三维建模,没有obj和mtl,程序写不下去了。。还有就是有人要把solidworks的模型,弄到三维渲染软件里进行渲染,某些渲染软件与solidworks兼容的格式只有obj。。经过一番调研,终于找到了方法。0、使用STL格式中转从网.

图片加载4:学会使用软引用解决OOM问题_qijingwang的博客-程序员秘密

学会使用软引用和弱引用可以进一步优化内存泄漏问题。本文主要让大家了解什么叫强引用、软引用、弱引用、虚引用以及怎么使用。(1)强引用(StrongReference)Object object = new Object();String name= "zhangsan";强引用在项目中很常见,程序猿已经习惯性的使用强引用了,以上两句简单代码就是所谓的强引用。当强引用对象占用...

团体程序设计天梯赛-L1-018 大笨钟_刘劲松1的博客-程序员秘密

微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。下面就请你写个程序,根据当前时间替

arcgis server 服务发布搭建总流程(以本机作为服务器)_一个苦苦挣扎的GISer的博客-程序员秘密_arcgis服务器

发布地理服务你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以

hp台式计算机怎么进bois,hp台式机bios设置 【图文教程】_幸运的小金Angel的博客-程序员秘密

近日有小伙伴发现电脑出现问题了,在突然遇到hp台式机bios设置时不知所措了,对于hp台式机bios设置带来的问题,其实很好解决hp台式机bios设置带来的问题,下面小编跟大家介绍hp台式机bios设置解决方法:HP台式电脑怎么进入BIOS界面和重装系统设置。问:HP台式电脑按Delele、Del、Delele+Ctrl+Alt都进不了BIOS界面,查百度有...答:1、首先需要最上面一排键盘F1...

mongodb 结合 nodejs使用方法_新果科技的博客-程序员秘密_mongodb nodejs

一个月之前发了几篇搭建博客的文章。现在博客已经成功上线了, 后面会继续说我在这中间遇到的问题。今天先来说一说我在使用nodejs结合mongodb时候的用法。最开始我想的使用本地存储:localStorage/sessionStorage来做数据的保存,但是这种方法太low,而且自己也做了两三年的开发,总要在技术上有一些提升,这也是个自我学习的机会。我就想自己用node做后端,加上mongodb数据库作为保存数据使用。node是运行在服务端的javascript,所以对前端开发来说是由很大的优势,...

随便推点

家庭媒体中心NAS方案设计_李乾文的博客-程序员秘密

0x01 主机NAS不需要太高的配置,一开始选用低配的组装机,结果各种问题(硬件问题、噪音、耗电)。干脆买了个星际蜗牛A小主机。0x02 硬盘选择WD40EZRZ 4T、紫盘4T0x03 系统选择ubuntu-20.04-desktop-amd640x04 软件选择1、控制面板宝塔面板2、媒体服务器Jellyfin、路由器要开启upnp3、文件服务器可道云4、远程桌面T...

【蓝桥杯】历届试题 连号区间数_蒙面侠1024的博客-程序员秘密

问题描述小明这些天一直在思考这样一个奇怪而有趣的问题:在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增排序后能得到一个长度为R-L+1的“连续”数列,则称这个区间连号区间。当N很小的时候,小明可以很快地算出答案,但是当N变大的时候,问题就不是那么简单了,现在小明需要你的帮助。输入格式第一行是一个正整数N (1 &lt;= N &lt;= 50000), 表示全排列的规模。第二行是N个不同的数字Pi(1

Netty实现HTTP服务_WYK_WZ的博客-程序员秘密_netty实现http

Netty实现HTTP服务代码实现前情提要如果你想采取行动 FullHttpRequest 你需要 HttpObjectAggregator 在管道中,负责组装这些部件。没有这个你会收到 HttpRequest, HttpContent, LastHttpContent表示HTTP消息部分的实例。每一个都需要处理,而 HTT请求标记新HTTP消息的开始,并 最后一个httpcontent结束了。服务端package com.wyk.day02;import com.wyk.day01

条款36-37绝不重新定义继承而来的non-virtual函数与缺省参数_郭衍清的博客-程序员秘密

条款36:绝对重新定义继承而来的non-virtual函数条款37:绝不重新定义继承而来的缺省参数这两个条款说的绝不没有说不可以,意思是最好是这么做。个人觉得这两个条款没有太多可说的。这里讲下缺省参数的问题。在C++面向对象的技术中,virtual函数的类型是动态的,但是参数是静态的。具体可以参考《C++ primer》以下的代码是糟糕的:class Sharp{

「newbee-mall新蜂商城开源啦」GitHub 上最热门的 Spring Boot 项目,我也要做一次靓仔!..._程序员十三的博客-程序员秘密

没有一个冬天不可逾越,也没有一个春天不会到来。介绍一下新蜂商城的近况,同时,新蜂商城 Vue 版本目前也在开发中,在这篇文章里我也向大家公布一下新蜂商城 Vue 版本的开发进度,和大家同...

android源码编译与开发:问题记录_libinfei8848的博客-程序员秘密

最近在ubuntu12.04 x86环境上编译android4.0系统,和以前在10.10上编译遇到的问题完全不一样,网上也查不到知识,所以把自己解决问题的心得记录如下:       1. 目标发行版 1.5 与默认的源发行版 1.7 冲突。因为我装的jdk是1.7版本的,在了解了build下面的编译规则后,去这个目录下查找使用了jdk1.5规则的mk。           执行一

推荐文章

热门文章

相关标签