vant中:
可以采用watch方式:
watch:{
'item.remark':function(v) {
//第一种方法:基本可以屏蔽全部表情,同时也无法输入标点符号之类
// v = v.replace(/[^a-z0-9A-Z\u4e00-\u9fa5()()\\-]+/g, '').replace(/\s/g, "");
//在下列打省略号的位置可以任意输入你不想限制的符号,/[^a-z0-9A-Z\u4e00-\u9fa5()()……………………………… - \s ]+/g, ''), 比如: v = v.replace(/[^a-z0-9A-Z\u4e00-\u9fa5()()***\\ , , 。. ! !? ? / —— … …… ~*** - \s ]+/g, '').replace(/\s/g, "");
//第二种方法:可以屏蔽基本所有表情,同时也可以输入标点符号之类
let reg = /[^\u0020-\u007E\u00A0-\u00BE\u2E80-\uA4CF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF\u0080-\u009F\u2000-\u201f\u2026\u2022\u20ac\r\n]/g;
v = v && v.replace(reg, '');
this.item.remark = v
},
},
或者formatter
<van-cell>
<!-- 使用 title 插槽来自定义标题 -->
<template #title>
<img src="@/common/imgs/twodot.webp" alt="" style="width:26px;padding:0 5px 4px 0">
<span class="custom-title" style="font-size: 16px;font-weight: 600;">项目<span>{{index + 1}}</span></span>
</template>
<template #right-icon v-if="index>0">
<span>
<span><img src="@/common/imgs/shanchu.png" alt="" style="width:22px;padding:0 5px 4px 0">
</span>
<span style="font-size: 16px;font-weight: 600;" @click="deleteProject(item,index)">删除
</span>
</span>
</template>
</van-cell>
<van-field
v-model.trim="item.title" clearable required maxlength="100" :class="{c9:!item.title.length}"
type="textarea" autosize rows="1" name="title" :formatter="formatterss" format-trigger="onBlur"
placeholder="请输入" label="项目名称" autocomplete="off"
:rules="[{ required: true}]"
/>
formatterss(value) {
let reg = /[^\u0020-\u007E\u00A0-\u00BE\u2E80-\uA4CF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF\u0080-\u009F\u2000-\u201f\u2026\u2022\u20ac\r\n]/g;
return value.replace(reg, '');
// 过滤输入的数字
},
//既过滤表情又过滤前后空格
<van-search
class="van_s" maxlength="50"
v-model.trim="searchValue"
show-action
@search="onSearch"
@input="onInput"
>
<template #action>
<van-button type="info" size="middle" color="#0D9869" class="searchBtn" @click="onSearch">搜索</van-button>
</template>
</van-search>
//方法
onInput(val) {
let reg = /[^\u0020-\u007E\u00A0-\u00BE\u2E80-\uA4CF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF\u0080-\u009F\u2000-\u201f\u2026\u2022\u20ac\r\n]|(^\s*)|(\s*$)/g;
val = val && val.replace(reg, '');
this.searchValue = val
},
知识:
js 去除前后、前、后所有空格
var strr=" 1 ad dertasdf sdfASDFDF DFG SDFG "
// type 1-所有空格,2-前后空格,3-前空格,4-后空格
function trim(str,type){
switch (type){
case 1:return str.replace(/\s+/g,"");
case 2:return str.replace(/(^\s*)|(\s*$)/g, "");
case 3:return str.replace(/(^\s*)/g, "");
case 4:return str.replace(/(\s*$)/g, "");
default:return str;
}
}
console.log( trim(strr,1)) // "1addertasdfsdfASDFDFDFGSDFG"
// 如只需要去除前后空格,可直接使用js的trim()方法:
let str = " abcd ";
str.trim() // "abcd"```
js正则表达式匹配多个条件
var str = “巫峡粉丝 WuXiaFenSi 酸辣粉 火锅粉 豌豆粉丝 suan_la_fen huo_guo_fen wan_dou_fen_si 023-91781688”;
var reg = /酸辣粉|火锅粉|豌豆粉丝/g;
var result = str.match(reg);
console.log(result);