JavaScript正則表達式知识汇总
Js 正則表達式知识汇总
1、什么是RegExp?RegExp是正則表達式的缩写。RegExp 对象用于规定在文本中检索的内容。
2、定义RegExp:var +变量名=new RegExp();
3、RegExp 对象有 3 个方法:
1)test()检索字符串中的指定值,返回值是true或false.
var p1=new Reg("e"); document.write(Reg.test("welcome to China!"));
2)exec()
var p1=new Reg("e"); document.write(Reg.exec("welcome to China!"));
3) compile()
var p1=new Reg("e"); document.write(Reg.compile("welcome to China!"));
4、修饰符
1)i 运行对大写和小写不敏感的匹配
2)g 运行全局匹配
3)m 运行多行匹配
5、方括号(用于查找某个范围内的字符)
1)[abc] 查找方括号之间的不论什么字符
2)[^abc] 查找不论什么不在方括号之间的字符
3)[0-9] 查找不论什么0-9之间的数字
4)[a-z] 查找不论什么小写a-z之间的字符
5)[A-Z]查找不论什么大写A-Z之间的字符
6)[A-z] 查找不论什么大写A-小写z之间的字符
7)[adgk] 查找给定集合内的不论什么字符
8)[^adgk]查找给定集合外的不论什么字符
9)(red|biue|green)查找不论什么给定的选项
6、元字符
1)\w:查找单词字符
2)\W:查找非单词字符
3)\d:查找数字
4)\D:查找非数字字符
7、 量词
n+匹配不论什么包括至少一个 n 的字符串。
n*匹配不论什么包括零个或多个 n 的字符串。
n?匹配不论什么包括零个或一个 n 的字符串。
n{X}匹配包括 X 个 n 的序列的字符串。
n{X,Y}匹配包括 X 或 Y 个 n 的序列的字符串。
n{X,}匹配包括至少 X 个 n 的序列的字符串。
n$匹配不论什么结尾为 n 的字符串。
^n匹配不论什么开头为 n 的字符串。
?=n匹配不论什么其后紧接指定字符串 n 的字符串。
?!n匹配不论什么其后没有紧接指定字符串 n 的字符串。
【练习题1】推断输入身份证格式是否正确
<body> <label>请输入身份证号:</label> <input name="" type="text" id="shenfen"/> <input name="" type="submit" id="textfi" value="提交1" onclick="test()"/><!--提交button,触发函数--> </body> </html> <!--推断身份证是否输入正确--> <script> function test() { var reg=new RegExp(/^[0-9]{17}[0-9|X]$/);<!--正則表達式的格式:以/^开头,以$/结尾,数字、字母范围用中括号--> var text=document.getElementById("shenfen").value;<!--输入文本框的字符串的id跟文本框的id相应--> //推断地区是否合法(用if...else) if(reg.test(text)) { alert("输入正确") } else { alert("输入错误"); } } </script>
效果图:
【练习题2】推断输入的邮箱格式是否正确
<body> <label>请输入您的邮箱:</label> <input name="" type="text" id="youxiang"/> <input name="" type="submit" value="提交2" onclick="y()" /> </body> </html> <script> function y() { var yx=new RegExp(/^[0-9|A-z|_]{1,17}@[A-z|0-9]{1,5}.(com|cn|net|org|cc)$/); var shuru=document.getElementById("youxiang").value; <!--定义变量,调用的是整个function,,必须把变量写在function内--> if(yx.test(shuru))<!--test正則表達式的方法--> { alert("zhengque"); } else { alert("cuowu"); } } </script>
效果图:
相对来说。js中正則表達式是一个非常重要的点。非常多地方都须要配合正则才行,所以小伙伴一定要学好这块内容。
參考来源:
Js 正則表達式
http://www.lai18.com/content/351738.html
延伸阅读
4正則表達式推断是否存在中文和全角字符和推断包括中文字符串长度
6用正則表達式 动态创建/添加css style script 兼容IE firefox
7javascript 获取链接文件地址中第一个斜线内的正則表達式
24jQuery源代码分析-02正則表達式 RegExp 经常使用正則表達式
25javascript 进阶篇1 正則表達式,cookie管理,userData
27js正則表達式
32JavaScript高级程序设计(第3版)学习笔记12 js正則表達式
34有用的JS正則表達式(手机号码/IP正则/邮编正则/电话等)
38怎样使用Javascript正則表達式来格式化XML内容
40Jquery Validate 正則表達式有用验证代码大全
55正則表達式中特殊符号及正則表達式的几种方法总结(replace,test,search)
60js正則表達式中test,exec,match方法的差别说明
66JS使用replace()方法和正則表達式进行字符串的搜索与替换实例
72javascript正則表達式參数/g与/i及/gi的使用指南
85javascript正則表達式之search()使用方法实例
86javascript正則表達式使用replace()替换手机号的方法
89javascript使用正則表達式实现去掉空格之后的字符
91Javascript 正則表達式实现为数字加入千位分隔符
92【JavaScript】利用正則表達式检查输入框输入的是否为网址
95JavaScript正則表達式中的ignoreCase属性使用具体解释
96具体解释JavaScript正則表達式中的global属性的使用
97在JavaScript的正則表達式中使用exec()方法
JavaScript正則表達式知识汇总的更多相关文章
- javascript 正則表達式补充
定义 JavaScript种正則表達式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...
- javascript正則表達式 "\b"问题
preface 昨晚在看<javascript权威指南>后.看见作者自己封装一个兼容全部浏览器的山寨HTML5新API classLIst类.自己想了想认为自己也要去玩一下.可是能力还是有 ...
- DOM笔记(十):JavaScript正則表達式
一.RegExp ECMAScript通过RegExp类型类支持正則表達式,语法和Perl类似: var exp = /pattern/flags; patternb部分是不论什么简单的或复杂的正則表 ...
- JavaScript 正則表達式
一.简单介绍 1.什么是正則表達式 正則表達式本身就是一种语言,这在其他语言是通用的. 正則表達式(regular expression)描写叙述了一种字符串匹配的模式,能够用来检查一个串是否含有某种 ...
- 经常使用的正則表達式归纳—JavaScript正則表達式
来源:http://www.ido321.com/856.html 1.正则优先级 首先看一下正則表達式的优先级,下表从最高优先级到最低优先级列出各种正則表達式操作符的优先权顺序: 2.经常使用的正則 ...
- javascript——正則表達式
正則表達式(RegExp对象):主要用于表单验证 1.创建正則表達式: (1).var ret = /pattern/; pattern是内容.能够是正則表達式的内容,能够是字符或是其它的内容 (2) ...
- javascript正則表達式
定义一个正則表達式 能够用字面量 var regex = /xyz/; var regex = /xyz/i; 也能够用构造函数 var regex = new RegExp('xyz'); var ...
- 使用正則表達式的格式化与高亮显示json字符串
使用正則表達式的格式化与高亮显示json字符串 json字符串非常实用,有时候一些后台接口返回的信息是字符串格式的,可读性非常差,这个时候要是有个能够格式化并高亮显示json串的方法那就好多了,以下看 ...
- JavaScript使用正則表達式
2.0 简单介绍 正則表達式是能够用来查找与给定模式匹配的文本的搜索模式.比如,在上一章中,我们在一个较长的字符串中查找子字符串Cookbook: var testValue = "This ...
随机推荐
- spring boot系列--spring security (基于数据库)登录和权限控制
先说一下AuthConfig.java Spring Security的主要配置文件之一 AuthConfig 1 @Configuration 2 @EnableWebSecurity 3 publ ...
- [JAVA]比毫秒System.currentTimeMillis()更精确的时间戳(纳米级时间戳)
纳秒 ns(nanosecond):纳秒, 时间单位.一秒的10亿分之中的一个,即等于10的负9次方秒. 经常使用作 内存读写速度的单位,其前面数字越小则表示速度越快. 1纳秒=1000 皮秒 ...
- Android数据库高手秘籍:SQLite命令
要想熟练地操作任何一个数据库,最最基本的要求就是要懂SQL语言,这也是每个程序员都应该掌握的技能.虽说SQL博大精深,要想精通确实很难,但最基本的一些建表命令,增删改查,大家还是必须要学会的. SQL ...
- 在IntelliJ IDEA中创建Maven多模块项目
在IntelliJ IDEA中创建Maven多模块项目 1,创建多模块项目选择File>New>Project 出现New Project窗口左侧导航选择Maven,勾选右侧的Create ...
- AWR系列之中的一个——AWR简单介绍
AWR的全称是Automatic Workload Repository(自己主动负载知识库). 它是通过对照两次快照的方式收集到统计信息.来生成txt或者html页面形式的报告. 通常,通过AWR报 ...
- 每一个程序猿都须要了解的一个SQL技巧
对于数据过滤而言CHECK约束已经算是相当不错了.然而它仍存在一些缺陷,比方说它们是应用到表上面的,但有的时候你可能希望指定一条约束,而它仅仅在特定条件下才生效. 使用SQL标准的WITH CHECK ...
- h5-news_index
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdcAAABuCAIAAAD6VM6fAAAUEUlEQVR4nO2dfXRTZZ7Hfx735Z/lr9 ...
- Flask上下文管理机制
前引 在了解flask上下文管理机制之前,先来一波必知必会的知识点. 面向对象双下方法 首先,先来聊一聊面向对象中的一些特殊的双下划线方法,比如__call__.__getattr__系列.__get ...
- Android 数字四舍五入
BigDecimal b = new BigDecimal(hour).setScale(1, BigDecimal.ROUND_HALF_UP); setScale(int newScale, in ...
- ZBrush中Magnify膨胀笔刷介绍
Magnify膨胀笔刷是ZBrush®笔刷中经常使用的,利用该笔刷可绘制中心向四周膨胀的效果.本文内容向大家介绍ZBrush®中膨胀笔刷以便大家熟悉它的用法和特性. Magnify膨胀笔刷 Magni ...