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 相关文章推荐
IE和Firefox下event事件杂谈
Dec 18 Javascript
javascript中节点的最近的相关节点访问方法
Mar 20 Javascript
在表单提交前进行验证的几种方式整理
Jul 31 Javascript
向左滚动文字 js代码效果
Aug 17 Javascript
jQuery焦点图切换特效代码分享
Sep 15 Javascript
整理JavaScript创建对象的八种方法
Nov 03 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
Sep 08 Javascript
Angular实现下拉框模糊查询功能示例
Jan 03 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
Apr 21 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
May 02 Javascript
微信小程序scroll-view实现字幕滚动
Jul 14 Javascript
小试SVG之新手小白入门教程
Jan 08 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代码
2006/12/06 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
PHP调用VC编写的COM组件实例
2014/03/29 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
javascript 动态设置已知select的option的value值的代码
2009/12/16 Javascript
加载jQuery后$冲突的解决办法
2010/07/09 Javascript
JQuery与JS里submit()的区别示例介绍
2014/02/17 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
node.js实现快速截图
2016/08/27 Javascript
使用Angular.js实现简单的购物车功能
2016/11/21 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
jQuery封装animate.css的实例
2018/01/04 jQuery
Node.js使用Angular简单示例
2018/05/11 Javascript
Vue实现本地购物车功能
2018/12/05 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
node.js事件轮询机制原理知识点
2019/12/22 Javascript
[48:24]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第一场 12.09
2020/12/12 DOTA
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
python设定并获取socket超时时间的方法
2019/01/12 Python
使用TensorFlow直接获取处理MNIST数据方式
2020/02/10 Python
python程序如何进行保存
2020/07/03 Python
Visual Studio code 配置Python开发环境
2020/09/11 Python
PyTorch预训练Bert模型的示例
2020/11/17 Python
python中xlrd模块的使用详解
2021/02/01 Python
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
CNC数控操作工岗位职责
2013/11/19 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
中国梦团日活动总结
2014/07/07 职场文书
龙门石窟导游词
2015/02/02 职场文书
2015年工会工作总结范文
2015/07/23 职场文书
mysql中varchar类型的日期进行比较、排序等操作的实现
2021/11/17 MySQL