正则表达式 - 常用

4/20/2022

# 常用的正则校验

  1. 数字:^[0-9]*$
  2. 英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$
  3. 由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

# 在线测试正则

# 元字符

字符 说明
. 匹配除换行符外的任意字符
\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 方法。