笔记目录
- 《智能社:JavaScript教程——从入门到精通》第1~5集笔记 事件
- 《智能社:JavaScript教程——从入门到精通》第6~10集笔记
- 《智能社:JavaScript教程——从入门到精通》第11~14集笔记 DOM操作和表格
- 《智能社:JavaScript教程——从入门到精通》第15~19集笔记 运动
- 《智能社:JavaScript教程——从入门到精通》第20~21集笔记 鼠标键盘事件
- 《智能社:JavaScript教程——从入门到精通》第22~23集笔记 事件高级应用
- 《智能社:JavaScript教程——从入门到精通》第24~25集笔记 Ajax
- 《智能社:JavaScript教程——从入门到精通》第26~29集笔记 面向对象
- 《智能社:JavaScript教程——从入门到精通》第30~31集笔记 坐标和cookie
- 《智能社:JavaScript教程——从入门到精通》第32集笔记 JS正则表达式
- 本文为原创,转载请注明:https://blog.xinpapa.com/2017/12/21/zhinengshe32/
详细内容
1.正则表达式基础1
- 复习字符串操作
search
:查找字符在字符串中的位置substring
:获取子字符串charAt
:获取某个字符split
:分割字符串获得数组
- 例子,找出字符串中的所有数字
- 用传统字符串操作完成
var str = "asdfsdf12 sdfdsd 23 ^&*()_566ssdf!@#$999"; var arr = []; var tmp = ""; for (var i = 0; i < str.length; i++) { if (str.charAt(i) >= "0" && str.charAt(i) <= "9") { tmp += str.charAt(i); } else { if (tmp.length > 0) { arr.push(tmp); tmp = ""; } } } if (tmp.length > 0) { arr.push(tmp); tmp = ""; } alert(arr);
- 用正则表达式完成
var str = "asdfsdf12 sdfdsd 23 ^&*()_566ssdf!@#$999"; alert(str.match(/\d+/g));
- 用传统字符串操作完成
2.正则表达式基础2
- 强大的字符串匹配工具
RegExp
对象- JS风格——
new RegExp("a","i")
- per风格——
/a/i
- JS风格——
3.字符串与正则配合1
- search
- 字符串搜索
- 返回出现的位置
- 忽略大小写:
i——ignore
- 判断浏览器类型
- 字符串搜索
- match
- 获取匹配的项目
- 量词:+
- 量词变化:
\d、\d\d
和\d+
- 全局匹配:
g——global
,意思是找到全部
- 获取匹配的项目
- 例子:找出所有数字
var str = "asdfsdf12 sdfdsd 23 ^&*()_566ssdf!@#$999"; alert(str.match(/\d+/g));
4.字符串与正则配合2
- replace
- 替换所有匹配
- 返回替换后的字符串
- 替换所有匹配
- 例子:敏感词过滤
<body> <textarea id="txt1" rows="10" cols="40"></textarea><br/> <input id="btn1" type="button" value="过滤" /><br/> <textarea id="txt2" rows="10" cols="40"></textarea> </body>
window.onload = function () { var oBtn = document.getElementById("btn1"); var oTxt1 = document.getElementById("txt1"); var oTxt2 = document.getElementById("txt2"); oBtn.onclick = function () { var re = /北京|百度|淘宝/g; oTxt2.value = oTxt1.value.replace(re, "***"); }; };
5.字符串
- 任意字符
[abc]
- 例子:
o[usb]t——obj
,意思是匹配o
开头的,第二个字符是u
、s
或b
,第三个字符是t
的字符串
- 例子:
- 范围
[a-z]
、[0-9]
- 例子:
id[0-9]
,意思是匹配id
后数字是0~9
的字符串
- 例子:
- 排除
[^a]
- 例子:
o[^0-9]t
,意思是匹配o
开头,第二位除了0~9
,第三位是t的字符串
- 例子:
- 行首行尾
- 验证邮箱的正则表达式:
/^\w+@[a-z0-9]+\.[a-z]+$/
'^'
和'$'
表示从字符串的开头到结尾只能出现匹配正则的内容
- 验证邮箱的正则表达式: