1、批量输入 “内容1 内容”,格式:换行
//textarea处理换行
const list = this.textarea.split('\n')
const pattern = /^\s*(.+?)\s+(.+)$/
const arr = item.match(pattern)
const storeName = arr[1].trim()
const num = arr[2].trim()
2、识别格式:姓名+手机号+详细地址(比如:杨某某 138****3333 某某省某某市XXXXXXXX
const pattern = /^\s*(.+?)\s+(.+?)\s+(.+)\s*$/
const arr = content.match(pattern)
3、手机号回显 183****3423
const reg = /^(\d{3})\d{4}(\d{4})$/
return tel.replace(reg, '$1****$2')
4、判断图片、视频
/**
* 判断图片还是视频
*/
export function isVideoOrImage(path) {
const imageExtensions = /\.(jpg|jpeg|png|gif|heic)$/i
const videoExtensions = /\.(mp4|mov|avi|flv|mkv|rmvb)$/i
if (imageExtensions.test(path)) return 'image'
if (videoExtensions.test(path)) return 'video'
return 'image'
}
5、输入去除非数字
const num = e.replace(/[^0-9]/g, '')
6、请输入 4 位数字的手机号后四位
/^\d{4}$/.test(value)
7、批量识别要求【 内容1 + 内容2 】、【 内容1 + 内容2 】+【内容3 + 内容4】,用空格分隔,换行
//以空格、换行符、回车为分隔线,相邻的多个空格、换行符、回车仍然视为只有一个,分隔后返回字符数组。
const arr = item.trim().split(/\s+/)
8、手机号格式判断
const mobileRegex = /^1[3-9]\d{9}$/
const result = mobileRegex.test(phone)
常见的元字符
| 元字符 | 含义 |
|---|---|
| ^ | 匹配输入字符串的开始位置 |
| \s | 匹配空白字符(空格、换行符、回车符) |
| \S | 匹配非空格字符 |
| * | 匹配前面的字符0次或多次 |
| . | 匹配任意字符 |
| + | 匹配字符1次或多次 |
| ? | 匹配前一个字符0次或多次(尽可能的少的匹配字符) |
| $ | 匹配字符串结尾 |
| [^1-3] | 匹配不在1到3数字的字符 |
| [0-9] | 匹配0到9的任意数字(例如:[1-9]匹配1到9的任意数字) |
| \d | 匹配任意数字等价[0-9] |
| {n} | 匹配n次({n,}至少匹配n次,{n,m}匹配n到m次) |
| () | 标志子表达式的开始和结束位置 |
"/i":不区分大小写; "/g":匹配所有符合条件的匹配项。