一、什么是正则表达式?
1.定义
正则表达式(Regular Expression)是由字符和特殊符号组成的 "模式字符串",本质是一种描述文本规则的语法,可用于匹配、查找、替换或验证字符串中指定的内容。
2.组成
普通字符(字母、数字)和特殊字符("元字符")组成
字符类

- 量词

- 位置词

3.小练
#手机号验证
^1[3-9]\d{9}$
1开始,第二位是3-9的数字,匹配后9位数字
#邮箱验证
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
a-zA-Z0-9_-匹配内容为大小写字母、数字、下划线、减号;+匹配至少一位;
.表示.
二、拓展
下面是一个字符分割的案例
c
if (res.code == 0 || res.code == 200) {
const processedData = [];
const FIELDS = [
'质量损失', '外观等级', '样品尺寸:宽',
'样品尺寸:长', '样品尺寸:面积', '测试前质量', '测试后质量'
];
const checkField = (val) => {
if (!val || typeof val !== 'string') return null;
const reg = /([\d,.]+)\(([\d,.]+)\)/;
const match = val.match(reg);
if (!match) return null;
const before = match[1].trim();
const inside = match[2].trim();
// 剩余内容截取
// const bracketStartIndex = val.indexOf(')') + 1;
// const restValue = bracketStartIndex > 0 ? val.substring(bracketStartIndex) : '';
// 数字校验
const numCheckReg = /^[\d,.]+$/;
if (!numCheckReg.test(before) || !numCheckReg.test(inside)) return null;
// 数组匹配
const beforeArr = before.split(',').map(item => item.trim());
const insideArr = inside.split(',').map(item => item.trim());
if (beforeArr.length !== insideArr.length) return null;
const isAllMatch = beforeArr.every((item, index) => item === insideArr[index]);
return isAllMatch ? beforeArr : null;
};
- 推荐应用实例文章:
正则表达式应用