Js 正则表达式知识汇总


Posted in Javascript onDecember 02, 2014

正则表达式:

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()"/><!--提交按钮,触发函数-->

</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>

效果图:

Js 正则表达式知识汇总

【练习题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中正则表达式是一个很重要的点,很多地方都需要配合正则才行,所以小伙伴一定要学好这块内容。

Javascript 相关文章推荐
判断脚本加载是否完成的方法
May 26 Javascript
jquery select(列表)的操作(取值/赋值)
Mar 16 Javascript
JavaScript中对象属性的添加和删除示例
May 12 Javascript
JavaScript中pop()方法的使用教程
Jun 09 Javascript
jquery动画效果学习笔记(8种效果)
Nov 13 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
Dec 31 Javascript
jquery限定文本框只能输入数字(整数和小数)
Jan 08 Javascript
JS面试题---关于算法台阶的问题
Jul 26 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
利用ES6实现单例模式及其应用详解
Dec 09 Javascript
JS数组求和的常用方法总结【5种方法】
Jan 14 Javascript
JavaScript 函数用法详解【函数定义、参数、绑定、作用域、闭包等】
May 12 Javascript
21个JavaScript事件(Events)属性汇总
Dec 02 #Javascript
bootstrap改变按钮加载状态
Dec 01 #Javascript
使用ajax+jqtransform实现动态加载select
Dec 01 #Javascript
Javascript字符串浏览器兼容问题分析
Dec 01 #Javascript
为什么Node.js会这么火呢?Node.js流行的原因
Dec 01 #Javascript
Javascript学习指南
Dec 01 #Javascript
Javascript模块化编程详解
Dec 01 #Javascript
You might like
色色整理的PHP面试题集锦
2012/03/08 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
js 窗口抖动示例
2013/09/04 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
AngularJS实现分页显示数据库信息
2016/07/01 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
Angularjs自定义指令Directive详解
2017/05/27 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
使用javascript做在线算法编程
2018/05/25 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
ES6中字符串的使用方法扩展
2019/06/04 Javascript
解决vue单页面应用打包后相对路径、绝对路径相关问题
2020/08/14 Javascript
vue3.0 上手体验
2020/09/21 Javascript
Python functools模块学习总结
2015/05/09 Python
python 打印对象的所有属性值的方法
2016/09/11 Python
python实现多线程行情抓取工具的方法
2018/02/28 Python
python实现画五角星和螺旋线的示例
2019/01/20 Python
python实现AES加密和解密
2019/03/27 Python
Python模拟登录之滑块验证码的破解(实例代码)
2019/11/18 Python
Python编程快速上手——疯狂填词程序实现方法分析
2020/02/29 Python
Python调用shell cmd方法代码示例解析
2020/06/18 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
浅析Python 序列化与反序列化
2020/08/05 Python
Python排序函数的使用方法详解
2020/12/11 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
面向对象设计的原则是什么
2013/02/13 面试题
应届生程序员求职信
2013/11/05 职场文书
建筑系毕业生自我鉴定
2014/01/24 职场文书
入党自我鉴定
2014/03/25 职场文书
白岩松演讲
2014/05/21 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
文言文辞职信
2015/02/28 职场文书
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android