js正则 限制表情输入

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);


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值