JavaScript正则表达式实例详解


Posted in Javascript onOctober 16, 2016

废话不多说了,直接把小编多年总结汇总的代码奉献给大家

<script type="text/javascript">
		var str2 = "YouCan3You8Up,no can no bibi!";
		var reg = /^[0-9a-zA-Z]{1,}$/;
		console.log(reg.test(str2));
		//正则表达式的一般形式
		//正则表达式对象的创建:
		//var 对象名 = new RegExp(参数1,参数2);
		//参数1:匹配规则,必须是字符串
		//参数2:可以省略,(属性)可选值,用来设置匹配规则的范围
		//第一种方式
		//判断字符串中是否包含某子字符串
		var str3 = "abcd";
		var reg2 = new RegExp("ab");
		console.log(reg2.test(str3)); //成功:true 不成功:false
		//想匹配字符串,必须使用正则表达式的函数 
		//test(字符串)函数作用:用来判断该字符串是否满足正则表达式的规则,如果满足,则返回true,如果不满足,则返回false
		//创建正则表达式的最常用方式 - 第二种方式
		//var 对象名 = /参数1/参数2;
		//参数1:设置匹配规则
		//参数2:属性(可选值),设置匹配规则的范围
		var str4 = "youbd";
		//判断 /mn/ 是否包含自字符串mn
		var reg3 = /ou/;
		console.log(reg3.test(str4));
		//参数2:属性(有三个值)
		//i:不区分字母大小写去匹配;
		//g:全局搜索:即便匹配到对应的内容,也会继续匹配,直到字符串结束位置
		//m:多行搜索
		var reg4 = /jingdong/i;
		console.log(reg4.test("JingDongShangCheng"));
		//匹配规则
		//1.普通的字符匹配股则
		//		/12/ /ab/ /ac8/...
		//2.特殊字符
		//		\n 换行
		//		\t 切换符号 tab键
		//		\r 回车键 enter键
		//		\d 数字 0-9 或者 [0123456789]
		//		\D 非数字 或者 [^0123456789]
		//		\w 字母,数字,下划线,汉字 
		//		\W 非(字母,数字,下划线,汉字)之外的
		//		\s 空白(空格,换行,tab切换键)
		//		\S 非空白
		//		.  除了\n之外的其他字符 或者 [^\n]
		//		[] 用来匹配字符串中是否出现过[]中的字符,如果出现,为true,不出现,为false
		//		[^] 用来匹配除了[]中出现的字符
		var reg5 = /\n/;
		var str5 = "LaMo\nSi";
		console.log(reg5.test(str5));
		var reg6 = /\d/; //以数字开头
		console.log(reg6.test("007t7"));
		var reg7 = /\D/;
		console.log(reg7.test("3403l"));
		var reg8 = /\w/;
		console.log(reg8.test("$-@9"));
		var reg9 = /\W/;
		console.log(reg9.test("$-@9"));
		var reg10 = /\s/;
		console.log(reg10.test("longgui lamosi"));
		var reg11 = /\S/;
		console.log(reg11.test("longguilamosi"));
		var reg12 = /[ab]/; //判断字符串中是否出现过任意一个字符(a,b,ab),出现,则为true,反之,为false
		console.log(reg12.test("dafbcd"));
		//特殊字符对应的正则表达式
		//		1.选字符 - 用于指定字符串的范围 例如:[0-9] 即匹配0 到 9 的数字;
		//										[a-z] 即匹配所有的小写字母;
		//										[A-Z] 即匹配所有的大写字母;
		var reg13 = /[a-z0-9A-Z]/g;
		console.log(reg13.test("aii9B"));
		//		match(正则表达式) 函数
		//		作用:用来匹配该字符串中是否有符合规则的字符串,返回值是一个数组,每个字符串作为数组的一个元素
		var str13 = "A*99abcY0B49L";
		var arr = str13.match(reg13);
		console.log(arr);
		var str14 = "*abc99!@a3ab";
		var reg14 = /ab/g;
		var arr2 = str14.match(reg14);
		console.log(arr2);
		//		search(正则表达式) 函数
		//		作用:只要匹配到符合规则的字符串就会将该字符串的开始下标返回,反之,返回-1
		var str15 = "youabcdY90we";
		var result = str15.search(/ab/);
		console.log(result);
		var str16 = "you can you up,no can no bibi!";
		console.log(str16.split(""));
		console.log(str16.split("o"));
		//正则表达式匹配作为分割符号
		console.log(str16.split(/[ao]/));
		var str17 = "1362388064@qq.com";
		console.log(str17.split(/\./)); // \.转义字符
		//以 . 或者 @ 作为分隔符
		console.log(str17.split(/[@.]/));
		console.log(str17.split(/[@\.]/));
		//替换 replace(正则表达式,字符串)
		var str18 = "no zuo no dai";
		console.log(str18.replace(/o/g, "L"));
		console.log(str18.replace(/[no]/g, "B"));
		//正则表达式里的量词
		//		1.{n} 重复出现至少n次
		//		2.{m,n} 重复出现 m 到 n 次
		//		3. + 匹配 相当于{1,} 1到无穷大
		//		4. * 相当于{0,} 0到无穷大
		//		5. ? 相当于{0,1} 0-1 可有可无
		var str19 = "aasdfghjklzxcvb";
		//var reg19 = /a{2}/g;
		//var reg19 = /a{1,}/g;
		//var reg19 = /a{3,6}/;
		//var reg19 = /a+/;
		//var reg19 = /a*/;
		var reg19 = /a?/g;
		console.log(reg19.test(str19));
		var str20 = "youaabcad";
		console.log(str20.replace(/a?/, "A"));
		console.log(str20.replace(/a?/g, "A"));
		//判断邮政编码(字符串是否满足邮政编码)
		//六位数,并且全部是数字
		var email = "450000";
		//第一种形式
		//		var regEmail = /^\d{6}$/g;
		//第二种形式
		var regEmail = /^[0-9]\d{5}$/g;
		console.log(regEmail.test(email));
		//		2.定位符 例如:1.^ 以某某为开头 $ 以某某为结尾
		//2.\b :匹配到单词的边界
		var str21 = "abcde";
		//		var reg21 = /^abc/;//以abc为开头
		//		var reg21 = /^[abc]/;//以a或b或c为开头
		var reg21 = /[^abc]/; //除了a或b或c之外的字符
		console.log(reg21.test(str21));
		var str22 = "mouse money eye see";
		// \b + 单词 (匹配到单词前边界的mo)
		console.log(str22.match(/\bmo/g));
		// 单词 + \b (匹配到单词后边界的ey)
		console.log(str22.match(/ey\b/g));
		//练习:判断一个字符串是否符合电话号码
		var phoneNum = "13849007907";
		var regPhone = /^1[34578]\d{9}$/;
		console.log(regPhone.test(phoneNum));
		//判断是否包含汉字
		var word = "longgui拉莫斯";
		var regWord = /[\u4e00-\u9fa5]+/g;
		console.log(regWord.test(word));
		//判断身份证号码 18位
		var num = "410184199504300000";
		var regNum = /^[1-9]\d{16}[\d|x]$/;
		
		//"^\d+$"//非负整数(正整数 + 0)
		//"^[0-9]*[1-9][0-9]*$"
//正整数
		//"^((-\d+)|(0+))$"
//非正整数(负整数 + 0)
		//"^-[0-9]*[1-9][0-9]*$"
//负整数
		//"^-?\d+$"

//整数
		//"^\d+(\.\d+)?$"
//非负浮点数(正浮点数 + 0)
		//"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"
//正浮点数
		//"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"
//非正浮点数(负浮点数 + 0)
		//"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"
//负浮点
		//数
		//"^(-?\d+)(\.\d+)?$"
//浮点数
		//"^[A-Za-z]+$"
//由26个英文字母组成的字符串
		//"^[A-Z]+$"
//由26个英文字母的大写组成的字符串
		//"^[a-z]+$"
//由26个英文字母的小写组成的字符串
		//"^[A-Za-z0-9]+$"
//由数字和26个英文字母组成的字符串
		//"^\w+$"
//由数字、26个英文字母或者下划线组成的字符串
		//"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"

//email地址
		//"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"
//url
		///^13\d{9}$/gi手机号正则表达式
		/*

		//判断是不是正数
		/^\d{1,}$/

		//判断QQ号 5到11位的QQ号
		/^[1-9]\d{4,10}$/

		//判断是不是整数(正负整数)
		/^\-{0,1}\d{1,}$/

		//或者
		/^\-?\d+$/

		//小数
		/^\-?\d+\.\d+$/
		*/
		//分组符号
		//();
		///nba{2}/g  ---- nbaa 子字符串
		///(nba){2}/g ----- nbanba 子字符串
		///n(ba){2}/g ----- nbaba 子字符串
		///[nba]{2}/g ----- 任意包含两个字符(aa bb nn
		//nb na ba)
	</script>
Javascript 相关文章推荐
百度留言本js 大家可以参考下
Oct 13 Javascript
Ext grid 添加右击菜单
Nov 26 Javascript
基于jquery的inputlimiter 实现字数限制功能
May 30 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
Dec 04 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
Dec 29 Javascript
javascript查询字符串参数的方法
Jan 28 Javascript
深入学习jQuery Validate表单验证
Jan 18 Javascript
BOM系列第二篇之定时器requestAnimationFrame
Aug 17 Javascript
详解Jquery 遍历数组之$().each方法与$.each()方法介绍
Jan 09 Javascript
Vue.js自定义指令的用法与实例解析
Jan 18 Javascript
JavaScript实现打字游戏
Feb 19 Javascript
React + Threejs + Swiper 实现全景图效果的完整代码
Jun 28 Javascript
js实现碰撞检测特效代码分享
Oct 16 #Javascript
js+css3制作时钟特效
Oct 16 #Javascript
js实现可旋转的立方体模型
Oct 16 #Javascript
移动端滑动插件Swipe教程
Oct 16 #Javascript
类似于QQ的右滑删除效果的实现方法
Oct 16 #Javascript
js实现点击图片自动提交action的简单方法
Oct 16 #Javascript
jQuery监听文件上传实现进度条效果的方法
Oct 16 #Javascript
You might like
php解决DOM乱码的方法示例代码
2016/11/20 PHP
javascript 打印页面代码
2009/03/24 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
js自定义鼠标右键的实现原理及源码
2014/06/23 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
2016/01/24 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
使用JS 插件qrcode.js生成二维码功能
2017/02/20 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
Vue单文件组件的如何使用方式介绍
2017/07/28 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
2017/10/26 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
[56:42]VP vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
朴素贝叶斯算法的python实现方法
2014/11/18 Python
Python表示矩阵的方法分析
2017/05/26 Python
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
Python3中bytes类型转换为str类型
2018/09/27 Python
opencv python图像梯度实例详解
2020/02/04 Python
解决tensorflow添加ptb库的问题
2020/02/10 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
python从Oracle读取数据生成图表
2020/10/14 Python
html5 更新图片颜色示例代码
2014/07/29 HTML / CSS
手对手的教你用canvas画一个简单的海报的方法示例
2018/12/10 HTML / CSS
Melijoe英国官网:法国儿童时尚网站
2016/11/18 全球购物
办公室保洁员岗位职责
2013/12/02 职场文书
办理暂住证介绍信
2014/01/11 职场文书
生日宴会主持词
2014/03/20 职场文书
小学推普周活动总结
2015/05/07 职场文书
史上最牛辞职信
2015/05/13 职场文书
教师调动申请报告
2015/05/18 职场文书
干部培训工作总结2015
2015/05/25 职场文书
于丹论语心得观后感
2015/06/15 职场文书