JS中有关正则表达式的一些常见应用
总所周知,正则表达式主要用于字符串处理、表单验证等,简单的代码量实现复杂的功能
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中有关正则表达式的一些常见应用的更多相关文章
- JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象
JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象 1. js正则表达式匹配字符之含义 查找以八进制数 规定的字符. 查找以十六进制数 规定 ...
- JS中应用正则表达式转换大小写
JS中应用正则表达式转换大小写,代码很简单,看代码: 以下首字母大写,其它字母小写 <script type="text/javascript"> function r ...
- 如何在JS中应用正则表达式
背景:在之前的随笔中写过C#中如何使用正则表达式,这篇随笔主要讲如何在js中应用正则表达式 如下代码: $("#zhengze").click(function () { var ...
- js中的正则表达式
一.正则中的汉字 常见的:/[^\x00-\x7F]+?/ /^[\u2E80-\u9FFF]+$/ 过滤汉字即是:string.replace(/^[\u2E80-\u9FFF]+$/g, &quo ...
- JS中给正则表达式加变量
前不久同事询问我js里面怎么给正则中添加变量的问题,遂写篇博客记录下. 一.字面量 其实当我们定义一个字符串,一个数组,一个对象等等的时候,我们习惯用字面量来定义,例如: var s = &quo ...
- js中的正则表达式的运用
正则表达式是一个拆分字符串并查询相关信息的过程:是现代开发中很重要的一环.作为一个web开发人员必须牢牢掌握这项技能,才能尽情得在js中驰骋. 1.创建正则表达式: 正则表达式(regular exp ...
- 【js 正则表达式】记录所有在js中使用正则表达式的情况
说实话,对正则表达式有些许的畏惧感,之前的每次只要碰到需要正则表达式去匹配的情况,都会刻意的躲过或者直接从度娘处获取. 此时此刻,感觉到了某一个特定的点去触及她.但笔者对于正则表达式使用上的理解是这样 ...
- js中的正则表达式入门
什么是正则表达式呢? 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串.将匹配的子串做替换或者从某个字符串中取出符合某个条件的子串等 ...
- 第十八节 JS中的正则表达式
复习字符串操作: search 查找 substring 获取子字符串 charAt 获取某个字符 split 分割字符串,获取数组 var str = 'abcdefghijk'; alert(st ...
随机推荐
- Monit : 开源监控工具介绍
· Monit 简介 Monit是一个轻量级(500KB)跨平台的用来监控Unix/linux系统的开源工具.部署简单,并且不依赖任何第三方程序.插件或者库. Monit可以监控服务器进程.文件.文件 ...
- 使用wsimport和JAX-WS调用Web Service接口
本文简单举例说明如何使用wsimport工具和JAX-WS API调用Web Service接口.此方法的优点:使用JDK自带的工具和API接口,无需依赖第三方库. JDK版本:1.8.0_141开发 ...
- 配置和启动Kubernetes服务
安装etcd服务 下载安装包 wget https://github.com/coreos/etcd/releases/download/v3.1.3/etcd-v3.1.3-linux-amd64. ...
- Hive导出复杂数据到csv文件
工作中经常遇到使用Hive导出数据到文本文件供数据分析时使用.Hive导出复杂数据到csv等文本文件时,有时会遇到以下几个问题: 导出的数据只有数据没有列名. 导出的数据比较复杂时,如字符串内包含一些 ...
- SqlServer与Linq 无限递归目录树且输出层级
ALTER VIEW [dbo].[view_TreeLevel] AS WITH cte AS ( SELECT a.ModuleID , a.Module_Name , a.Module_Desc ...
- Window window = Window.GetWindow(控件)
Window window = Window.GetWindow(控件)
- ionic构建APP--简单操作实现APP制作
ionic--基于AngularJS的app框架 1安装ionic .HBuilder创建APP项目,导入ionic的css,js(fonts)文件. .导入ionic.css和ionic.bundl ...
- iOS音频格式PCM转G711u(或G711a-law)
请尊重作者劳动成果,如需转载本博客文章请注明出处!谢谢合作! inputData是PCM的实时数据,可以通过转码,获取到最后导出的G711u数据(sendData) NSUInteger datal ...
- SAP 动态设置 GUI STATUS 灰色不可用 或者隐藏(转)
http://blog.sina.com.cn/s/blog_66110f6201017rul.html 有时候需要根据用户的权限或者是操作动态设置gui状态上的某些按钮的可用和不可用. 1.先定 ...
- python之集合
集合(set),它是一个无序的,不重复的数据组合,它是作用如下: 1.去重,也就是去除重复的内容.有一点值得注意的是:将一个列表(list)变成集合的时候,会自动去重. 2.关系测试.测试数据之间的交 ...