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 相关文章推荐
Javascript 汉字字节判断
Aug 01 Javascript
js parseInt(&quot;08&quot;)未指定进位制问题
Jun 19 Javascript
Javascript中的getUTCDay()方法使用详解
Jun 10 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
Dec 24 Javascript
JS实现加载和读取XML文件的方法详解
Apr 24 Javascript
微信小程序封装http访问网络库实例代码
May 24 Javascript
js 判断一个数字是不是2的n次方幂的实例
Nov 26 Javascript
vue.extend实现alert模态框弹窗组件
Apr 28 Javascript
vue动态路由配置及路由传参的方式
May 23 Javascript
JavaScript文本特效实例小结【3个示例】
Dec 22 Javascript
vue语法自动转typescript(解放双手)
Sep 18 Javascript
浅谈layui 绑定form submit提交表单的注意事项
Oct 25 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获取QQ达人QQ信息的方法
2015/03/05 PHP
基于PHP实现通过照片获取ip地址
2016/04/26 PHP
认识延迟时间为0的setTimeout
2008/05/16 Javascript
javascript实现焦点滚动图效果 具体方法
2013/06/24 Javascript
javascript贪吃蛇完整版(源码)
2013/12/09 Javascript
jquery实现动态操作select选中
2015/02/11 Javascript
简易的投票系统以及js刷票思路和方法
2015/04/07 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
js中最容易被忽视的事件问题大总结
2016/05/15 Javascript
第一次接触神奇的Bootstrap菜单和导航
2016/08/01 Javascript
jQuery中table数据的值拷贝和拆分
2017/03/19 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
video.js 一个页面同时播放多个视频的实例代码
2018/11/27 Javascript
使用webpack将ES6转化ES5的实现方法
2019/10/13 Javascript
vue中使用GraphQL的实例代码
2019/11/04 Javascript
前端vue如何使用高德地图
2020/11/05 Javascript
Python基础中所出现的异常报错总结
2016/11/19 Python
Random 在 Python 中的使用方法
2018/08/09 Python
python批量爬取下载抖音视频
2019/06/17 Python
对tensorflow中cifar-10文档的Read操作详解
2020/02/10 Python
将python字符串转化成长表达式的函数eval实例
2020/05/11 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
python selenium xpath定位操作
2020/09/01 Python
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
.NET初级开发工程师面试题
2014/04/18 面试题
MYSQL基础面试题
2012/05/13 面试题
大学生毕业自我鉴定范文
2013/11/03 职场文书
厨房工作人员岗位职责
2013/11/15 职场文书
法学专业本科生自荐信范文
2013/12/17 职场文书
毕业留言寄语大全
2014/04/10 职场文书
公证书样本
2014/04/10 职场文书
大一工商管理职业生涯规划:有梦最美,行动相随
2014/09/18 职场文书
人事局接收函
2015/01/31 职场文书
个人政治思想总结
2015/03/05 职场文书
公司车队管理制度
2015/08/04 职场文书
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python