正则表达式 - 常用
yuiyake 4/20/2022
# 常用的正则校验
- 数字:^[0-9]*$
- 英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
- 由26个英文字母组成的字符串:^[A-Za-z]+$
# 手机号3-4-4分割
const splitMobile = (mobile, format='-') => {
// 这里的正则意思是从末尾开始对数字进行匹配,每4个为一个单位,插入-
// 末尾的/g是全局匹配,如果是/i则是对大小写不敏感的匹配
return String(mobile).replace(/(?=(\d{4})+$)/g, format)
}
console.log(splitMobile(13006658974))
1
2
3
4
5
6
2
3
4
5
6
# 在线测试正则
# 元字符
字符 | 说明 |
---|---|
. | 匹配除换行符外的任意字符 |
\w | 匹配字母或数字或下划线或汉字 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始(在集合字符里[^a]表示非(不匹配)的意思 |
$ | 匹配字符串的结束 |
# 使用正则的方法
方法 | 说明 |
---|---|
exec | 一个在字符串中执行查找匹配的RegExp方法,它返回一个数组(未匹配到则返回 null)。 |
test | 一个在字符串中测试是否匹配的RegExp方法,它返回 true 或 false。 |
match | 一个在字符串中执行查找匹配的String方法,它返回一个数组,在未匹配到时会返回 null。 |
matchAll | 一个在字符串中执行查找所有匹配的String方法,它返回一个迭代器(iterator)。 |
search | 一个在字符串中测试匹配的String方法,它返回匹配到的位置索引,或者在失败时返回-1。 |
replace | 一个在字符串中执行查找匹配的String方法,并且使用替换字符串替换掉匹配到的子字符串。 |
split | 一个使用正则表达式或者一个固定字符串分隔一个字符串,并将分隔后的子字符串存储到数组中的 String 方法。 |