[前台]---js+jquery校验姓名,手机号,身份证号

记一次前台验证姓名,手机号,身份证号的代码,复制即用,前提是有引入jquery.

    var name = "姓名"if(!is_forbidName(name)){alert("姓名有误!");}var phone = "18888888888";var validateTel = /^1[23456789]\d{9}/;if(!validateTel.test(phone)){alert("手机号有误!");}var idCard = "000000000000000000";if(!regCardNo(idCard )){alert("身份证号有误!");}//姓名校验,正确返回true,不正确返回falsefunction is_forbidName(temp_str) {temp_str = temp_str.replace('*', "@");temp_str = temp_str.replace('--', "@");temp_str = temp_str.replace('/', "@");temp_str = temp_str.replace('+', "@");temp_str = temp_str.replace('\'', "@");temp_str = temp_str.replace('\\', "@");temp_str = temp_str.replace('$', "@");temp_str = temp_str.replace('^', "@");temp_str = temp_str.replace('.', "@");temp_str = temp_str.replace(';', "@");temp_str = temp_str.replace('<', "@");temp_str = temp_str.replace('>', "@");temp_str = temp_str.replace('"', "@");temp_str = temp_str.replace('=', "@");temp_str = temp_str.replace('{', "@");temp_str = temp_str.replace('}', "@");temp_str = temp_str.replace('#', "@");temp_str = temp_str.replace('。', "@");temp_str = temp_str.replace('!', "@");temp_str = temp_str.replace('!', "@");temp_str = temp_str.replace(' ', "@");var forbid_str = new String('@,%,~,&');var forbid_array = forbid_str.split(',');for (i = 0; i < forbid_array.length; i++) {if (temp_str.search(new RegExp(forbid_array[i])) != -1)return false;}return true;}//身份证校验,正确返回true,不正确返回falsefunction regCardNo(idCardNum) {var regBox = {regIdCard : /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$///如果通过该验证,说明身份证格式正确,但准确性还需计算};// idCardNum = changeFivteenToEighteen(idCardNum);if(regBox.regIdCard.test(idCardNum)){if(idCardNum.length==18){var idCardWi=new Array( 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ); //将前17位加权因子保存在数组里var idCardY=new Array( 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ); //这是除以11后,可能产生的11位余数、验证码,也保存成数组var idCardWiSum=0; //用来保存前17位各自乖以加权因子后的总和for(var i=0;i<17;i++){idCardWiSum+=idCardNum.substring(i,i+1)*idCardWi[i];}var idCardMod=idCardWiSum%11;//计算出校验码所在数组的位置var idCardLast=idCardNum.substring(17);//得到最后一位身份证号码//如果等于2,则说明校验码是10,身份证号码最后一位应该是Xif(idCardMod==2){if(idCardLast!="X" && idCardLast!="x"){return false;}}else{//用计算出的验证码与最后一位身份证号码匹配,如果一致,说明通过,否则是无效的身份证号码if(idCardLast!=idCardY[idCardMod]){return false;}}}else{return false;}}else{return false;}return true;}

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

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

相关文章

React Native新手引导

序言 本教程希望让您快速熟悉使用React Native来编写iOS和Android App的技巧。如果你希望知道React Native是什么以及为什么Facebook打造了它&#xff0c;可以读读这篇博文 我们这里假设你已经有了使用React编写Web应用程序的经验。如果还没有&#xff0c;建议你可以先从React官…

[设计模式] ------ 代理模式

几句话讲明白代理模式 静态代理&#xff1a; 1.定义 个接口A,接口有个方法methodA(); 2.定义一个实现类B,实现这个接口A,并重写方法methodA(); 3.定义一个代理类C,也实现接口A,并将类B作为他的一个属性&#xff0c; 然后C也重写方法methodA();但方法的实现为B&#xff0c;并调…

React Native使用指南-原生模块

有时候App需要访问平台API&#xff0c;但React Native可能还没有相应的模块封装&#xff1b;或者你需要复用Objective-C、Swift或C代码&#xff0c;而不是用JavaScript重新实现一遍&#xff1b;又或者你需要实现某些高性能、多线程的代码&#xff0c;譬如图片处理、数据库、或者…

服务器启动报错:One or more listeners failed to start. Full details will be found in the ...

idea本地启动web项目时 报错如下: One or more listeners failed to start. Full details will be found in the appropriate container log file 我的解决方案: 增加一步,配置artifacts 具体如下: 这个地方选择自己本地的web项目文件夹 都配置完然后Apply下,这个都配置好…

React Native使用指南-原生UI组件

在如今的App中&#xff0c;已经有成千上万的原生UI部件了——其中的一些是平台的一部分&#xff0c;另一些可能来自于一些第三方库&#xff0c;而且可能你自己还收藏了很多。React Native已经封装了大部分最常见的组件&#xff0c;譬如ScrollView和TextInput&#xff0c;但不可…

[网络]------长连接和短连接

本文重点介绍&#xff1a; 长连接和短连接的定义&#xff0c;优缺点以及使用场景 前提须知: 1.HTTP/1.0默认使用短连接,HTTP/1.1开始,默认使用长连接 2.HTTP协议的长连接和短连接,实质是就是TCP协议的长连接和短连接 3.tcp协议建立连接需要三次握手,这个过程会耗费网络资源…

React Native使用指南-使用链接库

并不是所有的APP都需要使用全部的原生功能&#xff0c;包含支持全部特性的代码会增大应用的体积。但我们仍然希望能让你简单地根据自己的需求添加需要的特性。 在这种思想下&#xff0c;我们把许多特性都发布成为互不相关的静态库。 大部分的库只需要拖进两个文件就可以使用了&…

[网络]------TCP UDP HTTP Socket 区别

关于这几个的概念,网上已经很全面了,在这个做个笔记: 前提须知: 1.协议就是大家提前约定的一种规范,后人照着这个遵循就可以,也可以将语言理解为一种协议 2.网络通信的世界中,有七层协议(应用层,表示层,会话层,传输层,网络层,数据链路层,物理层) 正题: 1.TCP和UDP都属于传…

React Native使用指南-在设备上运行

注意在iOS设备上运行React Native应用需要一个Apple Developer account并且把你的设备注册为测试设备。本向导只包含React Native相关的主题。 译注&#xff1a;从XCode 7起&#xff0c;在自己的设备上调试App不再需要开发者账户了。 从设备访问开发服务器 在启用开发服务器的情…

java 贪吃蛇游戏

前言 此实现较为简陋&#xff0c;如有错误请指正。 其次代码中的图片需要自行添加地址并修改。 主类 public class Main { public static void main(String[] args) { new myGame(); } } 1 2 3 4 5 游戏类 import javax.swing.*; import java.awt.eve…

java方向好看的书

从Lucene到ElasticSearch:全文检索实战 大数据架构详解&#xff1a;从数据获取到深度学习 代码整洁之道 架构解密&#xff1a;从分布式到微服务 从Paxos到Zookeeper分布式一致性原理与实践 大型网站技术架构 核心原理与案例分析 分布式服务架构&#xff1a;原理、设计与实…

React Native使用指南-植入原生应用

由于React并没有假设你其余部分的技术栈——它通常只作为MVC模型中的V存在——它也很容易嵌入到一个并非由React Native开发的应用当中。实际上&#xff0c;它可以和常见的许多工具结合&#xff0c;譬如CocoaPods。 需求 CocoaPods – gem install cocoapodsNode.js 安装 nvm&a…

[数据库]---nosql,非关系型数据库整理

1.关系型数据库与非关系型数据库的区别 Tables关系型数据库非关系型数据库成本好的收费开源的,都免费的存储与查询硬盘存储,相对查的慢内存存储,查的快存储格式只能是基本格式多种多样年龄出现时间较长,较成熟后起之秀,不可小觑扩展性join等不好扩展方便集群事务强事务弱事务查…

React Native开发指南-在原生和React Native间通信

通过植入原生应用和原生UI组件两篇文档&#xff0c;我们学习了React Native和原生组件的互相整合。在整合的过程中&#xff0c;我们会需要在两个世界间互相通信。有些方法已经在其他的指南中提到了&#xff0c;这篇文章总结了所有可行的技术。 简介 React Native是从React中得到…

数据迁移记录

做数据迁移,数据库是分两片,每片一主两从,没有读写分离 前提: 使用服务器1:2核4G内存40G硬盘 线程池:5个 每个线程分页查询,每页1000条 平均数据是一天一个线程,一天3万数据,所以大概就是30页的分页深度 服务器1的数据: cpu使用率在74%上下(有点高,2核的毕竟比不过4核的…

RPC协议简介

一、概述 1.英文原义&#xff1a;Remote Procedure Call Protocol 2.中文释义&#xff1a;&#xff08;RFC-1831&#xff09;远程调用协议 。 3.注解&#xff1a;一种通过网络从远程计算机程序上请求服务&#xff0c;而不需要了解底层网络技术的协议。 4.说明&#xff1a;RPC…

mysql分页查询报错,及解决

mysql分页查询报错: 前提: 1.每页1000条数据 2.查到57页的时候,就报错了 以下是错误信息: org.springframework.jdbc.UncategorizedSQLException: ### Error querying database. Cause: java.sql.SQLException: ...省略中间... received message larger than max (1844105…

RPC协议与Web Service

一、引入 我们每天都在使用浏览器来上网冲浪, 在查找自己需要的资源, HTTP协议自然是我们使用的最多的 一种, 我们尽情地享受着这种信息高速路的快感,却没有试图去了解我们是如何获得这些资源的? 它是一种什么样的设计理念? 我们也偶尔会使用 Gtalk来和自己的同事或者朋友来聊…

如何设置电脑开机自动提示(防止忘打卡等)

如何设置电脑开机自动提示: 第一种方法: 第一步:CtrlR 输入mmc命令打开 文件-添加/删除管理单元-组策略对象编辑器-添加-确定-确定(都是默认的)。 第二步:退出小框,会看见有个”本地计算机 策略”,打开-计算机配置-windows设置-安全设置-本地策略-安全选项 双击”交互式登…

RestFull架构

1 什么是REST REST全称是Representational State Transfer&#xff0c;中文意思是表述性状态转移。 它首次出现在2000年Roy Fielding的博士论文中&#xff0c;Roy Fielding是 HTTP 规范的主要编写者之一。 他在论文中提到:“我这篇文章的写作目的&#xff0c;就是想在符合架构原…