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可访问其它域名的cookie的方法
Sep 18 Javascript
js导航菜单(自写)简单大方
Mar 28 Javascript
Extjs NumberField后面加单位实现思路
Jul 30 Javascript
js中的referrer返回上一页使用介绍
Sep 26 Javascript
在myeclipse中如何加入jquery代码提示功能
Jun 03 Javascript
javascript中Date()函数在各浏览器中的显示效果
Jun 18 Javascript
原生js和jquery分别实现横向导航菜单效果
May 13 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
Mar 24 jQuery
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
Mar 21 Javascript
关于Vue项目跨平台运行问题的解决方法
Sep 18 Javascript
vue.js iview打包上线后字体图标不显示解决办法
Jan 20 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
Apr 08 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
《猛禽小队》:DC宇宙的又一超级大烂片
2020/04/09 欧美动漫
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
php curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
codeigniter上传图片不能正确识别图片类型问题解决方法
2014/07/25 PHP
php建立Ftp连接的方法
2015/03/07 PHP
PHP SOCKET编程详解
2015/05/22 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
Laravel框架实现利用监听器进行sql语句记录功能
2018/06/06 PHP
PHP保留两位小数的几种方法
2019/07/24 PHP
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
jquery动画3.创建一个带遮罩效果的图片走廊
2012/08/24 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
JavaScript实现多栏目切换效果
2016/12/12 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
深入理解es6块级作用域的使用
2019/03/28 Javascript
微信小程序模板消息推送的两种实现方式
2019/08/27 Javascript
[40:10]2015国际邀请赛全明星表演赛
2015/08/07 DOTA
详解基于django实现的webssh简单例子
2018/07/17 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
python utc datetime转换为时间戳的方法
2019/01/15 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
django解决订单并发问题【推荐】
2019/07/31 Python
Python-for循环的内部机制
2020/06/12 Python
Python Excel vlookup函数实现过程解析
2020/06/22 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
经典禁毒标语
2014/06/16 职场文书
科技工作者先进事迹
2014/08/16 职场文书
教师四风问题整改措施
2014/09/25 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
论文答辩开场白大全
2015/05/27 职场文书
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技