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 ...
随机推荐
- 使用jekyll配置一个自己的blog
使用coding.net上提供的pages服务来配置一个自己的站点 提示:下载这些软件,最好能FQ,有些链接是国外的,淘宝的ruby镜像已经不提供服务了 1. 安装Ruby 2. 安装Rubygems ...
- 积跬步,聚小流------Bootstrap学习记录(1)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...
- ContextMenu的使用具体解释
二话不说,先上图: 能够非常easy看到这是一个类似于Dialog悬浮在活动上的控件,它是由被注冊的view长按所触发的. 当然啦,也有其它的实现方式,这里就先介绍一下系统的ContextMenu:( ...
- win10 bcdedit加入vhdx启动
第一步,先用hyper-v.imagex或者其他vhd安装器.将win10 系统安装到一个vhd文件里(vhdx更好.动态扩展等诸多优良特性).比方d:\win10tp.vhdx 第二步,运行例如以下 ...
- log4j日志存储到数据库
一.前提条件 系统必须是使用LOG4J进行日志管理,否则方法无效. 系统必须包含commons-logging-xxx.jar,log4j-xxx.jar这两个JAR包,XXX为版本号. 二.操作步骤 ...
- 【POJ 1082】 Calendar Game
[题目链接] http://poj.org/problem?id=1082 [算法] 对于每种状态,要么必胜,要么必败 记忆化搜索即可 [代码] #include <algorithm> ...
- iis 部署
配置错误1: 由于权限不足而无法读取配置文件 建立一个新用户,分配所有权限 http://blog.csdn.net/jaychouliyu/article/details/7237143 配置错误2 ...
- python中struct模块
# #********struct模块********# # 1.按照指定格式将Python数据转换为字符串,该字符串为字节流,如网络传输时, # 不能传输int,此时先将int转化为字节流,然后再发 ...
- python中黏包现象
#黏包:发送端发送数据,接收端不知道应如何去接收造成的一种数据混乱现象. #关于分包和黏包: #黏包:发送端发送两个字符串"hello"和"word",接收方却 ...
- HD-ACM算法专攻系列(19)——Leftmost Digit
问题描述: AC源码: 解题关键是,数据很大,不能强算,需要使用技巧,这里使用科学计算法,令N^N=a*10^n ,取对数后变为 N*log10(N)=log10(a)+n,令x = log10(a) ...