目录
- 去除两边空格
- 用户名包含字符、数字、下划线和连接字符(-),并设置用户名的长度
- 匹配以数字开头,并以 abc 结尾的字符串
常用符号
. :除去换行符以外字符
\w:字母 数字 下划线 汉字
\s:空白符
\d:数字
\b:字母
^:开头
$:结尾
\W:非字母/数字/下划线/汉字
\S:非空白符
\D:非数字
\B:非字母
[^x]:非 x 字符 \*:0 到多 +:1 到多
?:0 到 1
{n}:n 次
{n,}:n 到多次
{n,m}:n 到 m 次
\1:复制第 1 个()匹配的引用
\2:复制第 2 个()匹配的应用
正则实现 trim()去除两边空格
String.prototype.trim = function(){
return this.replace(/^\s+|\s+$/g, '')
}
//或者
function trim(string){
return string.replace(/^\s+|\s+$/g, '')
}
正则实现只允许用户名包含字符、数字、下划线和连接字符(-),并设置用户名的长度
/^[a-z0-9_-]{3,15}$/g
匹配以数字开头,并以 abc 结尾的字符串
/^[0-9]+abc$/g
^[0-9]+
:匹配开头 1 次或多次的 0-9 数字
abc$
:匹配结尾 abc
匹配账号最长为 13 为最短为 4,且首位为 1
/^[1-9][0-9]{4,12}$/g
^[1-9]
:匹配开头 1-9 数字
[0-9]{4,12}$
:匹配结尾最少 4 为最多 12 位的 0-9 数字
匹配常见的固定电话号码
/ \(?0 \d{2} [)-]? \d{8}/g
\(?0
:匹配左括号一次或 0 次然后以 0 开头
\d{2}
:后面加两个数字
[)-]?
:匹配右括号或空格或减号一次或 0 次
\d{8}
:随后匹配 8 个数字
判断字符串是否包含数字
/ \d /g
判断是否符合指定格式
XXX-XXX-XXXX(其中 X 为 Number 类型)
/^ (\d{3}-){2}\d{4} $/g
^(\d{3}-){2}
:匹配开头两组 三个数字加上-
\d{4}$
:匹配结尾四个数字
参考文章:https://blog.csdn.net/hrj970808/article/details/109645198 > https://blog.csdn.net/weixin_41786576/article/details/87740011 > https://www.cxyzjd.com/article/hathaway_mogan/73033211 > https://blog.csdn.net/Geek_sun/article/details/80330937 > https://www.runoob.com/js/js-regexp.html > https://www.runoob.com/regexp/regexp-metachar.html > https://www.runoob.com/w3cnote/regular-expression-30-minutes-tutorial.html
用正则表达式匹配字符串,以字母开头,后面是数字、字符串或者下划线,长度为 9-20
const res = new RegExg(/^[a-zA-Z][a-zA-Z0-9_]{9,19}*$/g)