输入框校验表情
在输入框中做表情校验时
输入框的代码
<el-input
v-model="name"
@input="inputTitle"
disabled
placeholder="请输入审批名称"
/>
注意:将emoji的校验规则提取出来 方便单独维护 或是代码复用 方法1
//1
const EMOJI = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
//校验规则2
const EMOJI =
// eslint-disable-next-line
/[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/gi;
/**
* inputTitle输入框输入的方法
*/
inputTitle(v) {
// 校验非空
let value = (v || "") + "";
//校验表情
var emoji = EMOJI;
const isEmoji = emoji.test(value);
if (isEmoji) {
value = value.slice(0, 1);
}
this.Form.title = value;
},