JS正则表达式常见函数与用法小结
一、正则表达式基础
1.1 基本语法
JS 的正则表达式使用反斜杠(backslash)来表示元字符,比如\d表示匹配数字字符,\w表示匹配任意字母数字字符,\s表示匹配空白字符等。
1.2 匹配模式
- i:忽略大小写
- g:全局匹配(即匹配完一次继续匹配下一次)
- m:多行匹配模式
1.3 常见元字符
- .:匹配除了换行符以外的任意一个字符
- []:匹配方括号内的任意一个字符
- |:或者
- \:转义字符
- ^:以什么开头
- $:以什么结尾
- \d:数字字符
- \w:任意字母数字字符
- \s:空白字符
- \b:单词边界
二、常见函数与用法
2.1. test()
用正则表达式测试一个字符串是否匹配。该方法返回一个布尔值。
const str = 'hello world';
const pattern = /world/;
console.log(pattern.test(str)); // true
2.2. exec()
用正则表达式测试一个字符串是否匹配,并返回匹配结果。该方法返回一个数组,第0项为正则表达式匹配到的字符串,后面是正则表达式匹配分组的结果。
const str = 'hello world';
const pattern = /world/;
console.log(pattern.exec(str)); // ['world', index: 6, input: 'hello world', groups: undefined]
2.3. match()
在一个字符串中查找与正则表达式匹配的子串,并返回一个数组,数组的所有元素都是与正则表达式匹配的字符串。
const str = 'hello world';
const pattern = /l/g;
console.log(str.match(pattern)); // ['l', 'l', 'l']
2.4. replace()
用一个新字符串替换所有匹配到的字符串。
const str = 'JavaScript is the best programming language';
const pattern = /JavaScript/;
const newStr = str.replace(pattern, 'Java');
console.log(newStr); // 'Java is the best programming language'
2.5. search()
查找字符串中第一个与正则表达式匹配的子串的位置。该方法返回一个整数,表示匹配到的字符串的位置,如果没有匹配到则返回-1。
const str = 'hello world';
const pattern = /world/;
console.log(str.search(pattern)); // 6
三、示例说明
3.1. 检查密码强度
一个强密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,可以通过正则表达式检查密码是否符合要求。
function checkPassword(password) {
const pattern = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{8,}$/;
return pattern.test(password);
}
console.log(checkPassword('abc123!')); // false
console.log(checkPassword('ABc123!')); // true
3.2. 格式化电话号码
将电话号码格式化为xxx-xxx-xxxx的形式,可以使用正则表达式的replace()函数。
function formatPhoneNumber(phone) {
const pattern = /(\d{3})(\d{3})(\d{4})/;
return phone.replace(pattern, '$1-$2-$3');
}
console.log(formatPhoneNumber('1234567890')); // '123-456-7890'
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS正则表达式常见函数与用法小结 - Python技术站