1.正则表达式 是ECMAScript的内置对象
由普通字符和特殊字符组成的
用于表述特定的字符规则
正则表达式的定义
1.直接量
var reg=/abc/;
2.构造函数
var reg=new RegExp('abc');
正则表达式有一些特殊字符串 需要转义后才能使用
. / * ? + [ ] ( ) { } ^ | $
test函数
语法:reg.test(string)
描述:该函数用于检测参数的内的字符串是否符合正则表达式的规则,并返回一个布尔值
console.log(reg.test('a1bc'));
2.字符集
正则表达式中的字符集以中括号[]表示
中括号内可以写任意数量的字符
含义:表示匹配字符集内的任意单个字符
[abc] 表示匹配abc中的任意一个字符
[abc][c] 第一个字符是abc中任意一个 第二个字符是c
[^abc] ^在字符集中 表示的是不匹配的意思 不匹配abc中的任意一个字符
[0-9] 表示匹配任意一个数字
[a-z] 表示匹配任意小写字母
[A-Z] 表示匹配任意大写字母
[A-z] 表示匹配任意大小写字母
3.预定义字符集
预定义字符集
预先设置好的字符集
d 匹配一个数字 相当于[0-9]
D 匹配一个非数字 相当于[^0-9]
w 匹配 数字、字母、下划线 相当于[A-z0-9_]
W 匹配 非 数字、字母、下划线 相当于[^A-z0-9_]
s 匹配 一个空白符(空格 制表符)
S 匹配 一个非空白符
. 匹配除了回车和换行(
)外的任意字符
4.匹配数量
表示匹配的字符次数
n? 表示匹配0次或1次字符n
n* 表示匹配0次或多次字符n
n+ 表示匹配1次或多次字符n
n{x} 表示匹配x次字符n
n{x,y} 表示匹配至少x次最多y次字符n
n{x,} 表示匹配最少x次字符n
5.选择分组
选择和分组
| 表示选择 相当于 逻辑或||
() 表示分组 小括号内被看作一个整体
6.匹配边界
匹配边界
^ 表示匹配的边界开始
$ 表示匹配的边界结束
正则表达式严谨的用法 一般都会设定边界
7.修饰符
正则表达式的属性
global 修饰符g 全局匹配
ignoreCase 修饰符i 忽略大小写
multiline 修饰符m 多行匹配
var str = "h1ah12 3s 5g asd h47";
String.prototype.match(reg)
该方法用于在字符串中检索符合正则规则的字符串内容,将检索到的内容写入一个新数组
该方法的结果比较依赖global属性
console.log(str.match(reg));
String.prototype.search(reg)
该方法用于在字符串中检索与正则所匹配的子串的第一个字符位置,如果没有找到返回-1
var str = "JavaScript is fun";
console.log(str.search(/java/i));
常用正则:[u4e00-u9fa5] 中文 [u0931-uFFF5]
data-是HTML5标准新增加的自定义属性
elm.dataset 这个是data- 的js接口
8.trim函数
去除字符串前后空格
- String.prototype.trim()
用于去除前后空格
console.log(str.trim());
2.function trim(str) {
return str.replace(/^s+|s+$/g, "");
}
console.log(trim(str));
9.$符的应用
选择某个子表达式匹配的文本
1.exec检索字符串中指定的值。返回找到的值,并确定其位置
2.test()检索字符串中指定的值。返回true或者false
10.文本采集
扩展:replace用于更换''