1、利用正则对字符串内部的文字进行全部替换
tempItem = item.replace(
`/${this.searchContent}/g`,
`<span style="background-color: yellow">${this.searchContent}</span>`
);
//这个正则全局替换没有生效
//修改后:
tempItem = item.replace(new RegExp(this.searchContent, 'g'), `<span style="background-color: yellow">${this.searchContent}</span>`);
//在这个示例中,我们使用了 new RegExp() 构造函数创建了一个正则表达式对象,将要替换的内容传递给构造函数,并使用 'g' 标志来表示需要全局匹配。
//需要注意的是,在正则表达式中,如果要使用变量,可以使用 new RegExp() 构造函数来动态生成正则表达式。这是因为在 JavaScript 中,正则表达式可以是字面量或者对象。
//总结一下,如果要使用正则表达式进行全局替换,可以将正则表达式作为字面量或者对象传递给 replace() 方法,并使用全局匹配标志 /g。如果要使用变量,可以使用 new RegExp() 构造函数动态生成正则表达式。
2、自定义正则:
rules: {
passwordCheck: [
this.$ruler('确认密码'),
{ validator: validatePassCheck, trigger: 'blur' },
],
}
const validatePassCheck = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入确认密码'));
} else if (value !== this.form.password) {
callback(new Error('两次密码不一致,请重新输入'));
} else {
callback();
}
};
// 或者直接写
relatePersonList: [
{
validator: (rule, value, callback) => {
if (value.length == 0) {
callback(new Error('请提取人员信息'));
} else {
callback();
}
},
trigger: 'blur',
},
]
validator 属性是一个用于执行具体校验逻辑的自定义函数。该函数接收两个参数:表单字段的值和回调函数,你可以在函数中编写校验逻辑,并通过调用回调函数来指示校验结果。例如:
function validatePassCheck(rule, value, callback) {
// 执行校验逻辑
if (value === 'password') {
callback(new Error('密码不能为 "password"'));
} else {
callback();
}
}
在上面的示例中,validatePassCheck 函数校验了密码字段的值,如果值为 "password",则通过调用回调函数传递一个带有错误信息的 Error 对象,表示校验不通过;否则,通过调用回调函数表示校验通过。
3、通过正则去除html的标签
removeHtmlTags(text) {
return text.replace(/<.*?>/g, '');
},
let tempContent = this.removeHtmlTags(this.form.content);
this.$set(this.form, 'content', tempContent);
// 法二
export function html2Text(val) {
// 创建临时的 div 元素
const div = document.createElement('div');
// 将 HTML 字符串赋值给 div 元素的 innerHTML 属性
div.innerHTML = val;
// 返回 div 元素的 textContent 或 innerText 属性值,即将 HTML 标记去除后得到的纯文本字符串
return div.textContent || div.innerText;
}
4、只允许输入数字
<el-input
v-model="form.arrearsNum"
placeholder="请输入拖欠人数"
@input="arrearsNumChange($event)"
style="width: 220px"
clearable
></el-input>
===========================================================================
arrearsNumChange(event) {
const input = event;
event = input.replace(/\D/g, ''); // 只允许输入数字
this.form.arrearsNum = event;
this.$forceUpdate();
},