将中间数字变为*
号
str.replace(/(\d{3})\d*(\d{2})/, '$1****$2')
在数字前插入$
符号,兼容正负号
String(str).replace(/(-?)(\d*)/, '$1$$$2')
获取img
图片链接的正则表达式
/<img [^>]*src=['"]([^'"]+)[^>]*>/gi
5-15位数字和字母的混合,且必须有一位数字和字母
/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{5,15}$/
5-15位数字和字母的混合,允许纯数字或字母组合
/^[0-9A-Za-z]{5,15}$/
将大括号之间的内容(包括大括号)换成 * 号
str.replace(/(\{).*(\})/, '****')
将中间内容加密
const encryptMiddleStr = (str, repeat = 4, before = 3, after = 3, isForced = true) => {
if (!str) return ''
const strL = str.length
if (strL <= before + after) {
const num = isForced ? Math.ceil(strL / 2) - 1 : 3
before = strL === 2 ? 1 : num
after = num
}
return str.replace(new RegExp(`(.{${before}}).*(.{${after}})`), (all, $1, $2) => {
return $1 + '*'.repeat(repeat) + $2
})
}
验证电子邮箱
isEmail = (value) => /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value)