总所周知,正则表达式主要用于字符串处理、表单验证等,简单的代码量实现复杂的功能

1、身份证号码的一个校验

先做一个简单的位数校验来判断身份证的合法性:(15位数字或18位数字或17位数字加X|x)

var reg=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(^\d|X|x)$)/

if(reg.test(num) === false){

  alert("你输入的身份证不合法");

  return false;

}

18位=前六位地区+中八位出生日期+后4位顺序号(最后一个可以是数字或者X,x)

这我针对年份过滤(18xx-20xx),在对月份(01-12),日期(01-31)

其中正则表达式如下(我发现网上很多都是简单判断,日期和月份出现00都没有过滤掉):

var reg = /(^\d{6}((([1])([8|9]))|(([2])([0])))(\d{2})

      ((([0])([1-9]))|(([1])([1-2])))

      ((([0])([1-9]))|(([1-2])([0-9]))|(([3])([0-1])))

      (\d{3}(\d|X|x))$)/;

15位=前六位地区+中六位出生日期+后3位顺序号

其原理和18位上面一样,读者可自行脑补,当然官方的身份证校验更加严格。

其中测试大家可以通过最开始的函数方法,从某个input中获取输入值,然后以该输入值作为入参执行上函数,可以通过jQuery简单实现。

2、E-mail邮箱的校验

var emil=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;

其中主要就是字母下划线数字+@+字母下划线数字+.+字母下划线数字的组合;其中在正则表达式中‘+’号是表示其前面可以有一个或多个这样的属性。

这些东西主要应用在平时一些登录注册页面数据提交之前的校验。

JS中有关正则表达式的一些常见应用的更多相关文章

  1. JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象

    JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象 1. js正则表达式匹配字符之含义      查找以八进制数 规定的字符.     查找以十六进制数 规定 ...

  2. JS中应用正则表达式转换大小写

    JS中应用正则表达式转换大小写,代码很简单,看代码: 以下首字母大写,其它字母小写 <script type="text/javascript"> function r ...

  3. 如何在JS中应用正则表达式

    背景:在之前的随笔中写过C#中如何使用正则表达式,这篇随笔主要讲如何在js中应用正则表达式 如下代码: $("#zhengze").click(function () { var ...

  4. js中的正则表达式

    一.正则中的汉字 常见的:/[^\x00-\x7F]+?/ /^[\u2E80-\u9FFF]+$/ 过滤汉字即是:string.replace(/^[\u2E80-\u9FFF]+$/g, &quo ...

  5. JS中给正则表达式加变量

    前不久同事询问我js里面怎么给正则中添加变量的问题,遂写篇博客记录下.   一.字面量 其实当我们定义一个字符串,一个数组,一个对象等等的时候,我们习惯用字面量来定义,例如: var s = &quo ...

  6. js中的正则表达式的运用

    正则表达式是一个拆分字符串并查询相关信息的过程:是现代开发中很重要的一环.作为一个web开发人员必须牢牢掌握这项技能,才能尽情得在js中驰骋. 1.创建正则表达式: 正则表达式(regular exp ...

  7. 【js 正则表达式】记录所有在js中使用正则表达式的情况

    说实话,对正则表达式有些许的畏惧感,之前的每次只要碰到需要正则表达式去匹配的情况,都会刻意的躲过或者直接从度娘处获取. 此时此刻,感觉到了某一个特定的点去触及她.但笔者对于正则表达式使用上的理解是这样 ...

  8. js中的正则表达式入门

    什么是正则表达式呢? 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串.将匹配的子串做替换或者从某个字符串中取出符合某个条件的子串等 ...

  9. 第十八节 JS中的正则表达式

    复习字符串操作: search 查找 substring 获取子字符串 charAt 获取某个字符 split 分割字符串,获取数组 var str = 'abcdefghijk'; alert(st ...

随机推荐

  1. php Socket通信

    <?php error_reporting(0); $host = "0.0.0.0"; $port = 1082; $maxUser = 10; set_time_limi ...

  2. keydown - > keypress - > keyup

    英文输入法:   事件触发顺序:keydown - > keypress - > keyup   中文输入法:   firfox:输入触发keydown,回车确认输入触发keyup chr ...

  3. PWA学习心得

    PWA学习心得 一.什么是PWA Progressive  Web  App , (渐进式增强 WEB 应用) 简称 PWA ,是提升WebApp的体验的一种新方法,能给用户原生应用的体验. PWA ...

  4. jquery事件使用方法总结

    jquery提供了许多的事件处理函数,学习前端一段时间了,下面对其总结一下,梳理一下知识点. 一.鼠标事件 1. click():鼠标单击事件 $div = $("div") $d ...

  5. pm2部署多个nodejs项目配置教程

    实际项目部署中,我们服务器在启动的时候需要自动启动node服务.以前是通过liunx自带的命令启动.但是随着后台微服务越来越多.每次发布新程序.修改脚本太麻烦了.于是换成PM2来做. 1.首先安装pm ...

  6. sublime Text 正则替换

    我遇到一个文章,需要把所有的 (数字) 换为 [数字] 于是我使用 Sublime Text的替换 首先,我们需要打开正则使用"Alt+R" 或打开"Ctrl+h&quo ...

  7. IDEA启动后页面没有tomcat server选项,显示灰色问号和红叉不能使用

    说明:自己好几次硬盘莫名其妙读不出来导致电脑重启后idea没有了tomcat选项,原来的tomcat上显示灰色的问号和红色小叉子,网上搜了好久加上自己摸索,终于解决了.现在记一下也分享一下,省的下回又 ...

  8. Windows下安装RabbitMQ

    今天正好给自己机器安装rabbitmq,总结下安装经验. 现在国内访问erlang,和 RabbitMQ 官网好像都很难连上.我已下载好了资源,需要的朋友可以下载. 链接: https://pan.b ...

  9. 个人怎么申请微信小程序

    1.打开微信公众平台(mp.weixin.qq.com).拉到中间的"账号分类",鼠标悬浮于"小程序"框中并点击"查看详情". 2.进入微信 ...

  10. 脱壳第三讲,UPX压缩壳,以及补充壳知识

    脱壳第三讲,UPX压缩壳,以及补充壳知识 一丶什么是压缩壳.以及壳的原理 在理解什么是压缩壳的时候,我们先了解一下什么是壳 1.什么是壳 壳可以简单理解为就是在自己的PE文件中包含了代码.而有不影响我 ...