禁止输入框输入特殊符号或emoji表情 

// 判断是否含有特殊符号
let reg1 = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/im
// 判断是否含有emoji表情
let reg2 = /[\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/ig
// 如果为true,字符串含有emoji表情,false不含
console.log(reg2.test(info.personName))
// 如果为true,字符串含有特殊符号,false不含
console.log(reg1.test(info.personName))

 使用:

onInput() {var reg = /[\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/igthis.input = this.input.replace(reg, '')
},

全局设置:

let findEle = (parent, type) => {return parent.tagName.toLowerCase() === type ? parent : parent.querySelector(type)
}const trigger = (el, type) => {const e = document.createEvent('HTMLEvents')e.initEvent(type, true, true)el.dispatchEvent(e)
}const emoji = {bind: function (el, binding, vnode) {// 正则规则可根据需求自定义var regRule = /[\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/iglet $inp = findEle(el, 'input')el.$inp = $inp$inp.handle = function () {let val = $inp.value$inp.value = val.replace(regRule, '')trigger($inp, 'input')}$inp.addEventListener('keyup', $inp.handle)},unbind: function (el) {el.$inp.removeEventListener('keyup', el.$inp.handle)},
}export default emoji

使用:将需要校验的输入框加上 v-emoji 即可

<template><input type="text" v-model="text" v-emoji />
</template>

https://blog.csdn.net/rainbow8300/article/details/89848799
https://blog.csdn.net/qq_42004292/article/details/111355006

JS Vue 禁止输入框输入特殊符号或emoji表情相关推荐

  1. js 正则表达式禁止输入框输入特殊字符遇到的坑以及解决方案

    前言 最近在项目中有一个需求是禁止输入特殊字符,一开始我是在网上找的正则表达式直接用的,后来发现这个表达式同时也禁止了v,x,y,z,所以后来就想了一个比较笨的方法,把所有的特殊字符全部罗列出来,然后 ...

  2. mysql存储图片node_Node.js教程 阿里云mysql如何支持存储emoji表情

    本篇教程介绍了Node.js教程 阿里云mysql如何支持存储emoji表情,希望阅读本篇文章以后大家有所收获,帮助大家对Node.js的理解更加深入. < 本篇主要记录nodejs项目阿里云m ...

  3. 特殊符号,emoji表情,四字节去除问题

    最近遇到一个问题,公司的数据库是utf-8的字符集,而支持 特殊符号,emoji表情,四字节等特殊符号的需要是utf-8mb4的字符集才可以,不然强行插入是会报错的,这时候就需要将获取到的包含特殊符号 ...

  4. vue设置输入框输入长度_基于vue的限制输入框可输入字节数的解决方案

    2018年07月11日 基于vue的限制输入框可输入字节数的解决方案 需求:input输入框输入上限4个字节.达到上限则不能继续输入,其中1个英文表示1个字节.1个中文表示2个字节. 看到这个需求,第 ...

  5. 解决js函数replace禁止输入框输入非法字符,光标回到文字最后问题(兼容ie、谷歌)

    js代码: /*获取光标位置*/ function getCursorPos(obj) { var CaretPos = 0; // IE Support if (document.selection ...

  6. vue设置输入框输入长度_Vue实现input宽度随文字长度自适应操作

    业务需求,输入文字,后面的元要紧随其后,奈何input默认是有宽度,我想要达到,输入文字,动态改变input的宽度,试了很多方法,目前自己琢磨一种,有遇到问题的可以参考一下, 直接贴代码 type=& ...

  7. vue设置输入框输入长度_vue输入框限制字符串长度和输入内容实时验证的实现方式...

    一.最简单,通过maxlength和onkeyup ?:;'\\\$\%\^\&\*\(\)\-\|\[\]\{\}\{\}]/g,'');" /> 代码中正则是限制除中文外的 ...

  8. 禁止输入框输入空格 onkeyup

    原生 <input type="text" onkeyup="this.value=this.value.replace(/\s+/g,'')">v ...

  9. 把用户输入的文本转义(主要针对特殊符号和emoji表情)

    function userTextEncode($str){ if(!is_string($str))return $str;if(!$str || $str=='undefined')return ...

最新文章

  1. 迷你DVD管理器项目
  2. JS 全局对象 全局变量 作用域 (改自TOM大叔博文)
  3. Laravel event 事件的简单使用
  4. [设计原则与模式] 如何理解TDD的三条规则
  5. 解决 : Could not commit JPA transaction RollbackException: Transaction marked as rollbackOnly
  6. 利用dos进入mysql数据库操作数据
  7. C语言-获取当前时间-格式化输出(完整代码)
  8. slf4j注解log报错_这个注解一次搞定限流与熔断降级:@SentinelResource
  9. 前端开源项目周报1213
  10. cr2格式缩略图不显示_cr2缩略图补丁 佳能相机RAW文件CR2原片格式缩略图显示补丁- 游侠下载站...
  11. 使用代理软件SocksCap-v2.38H玩网络游戏
  12. python图像手绘效果_如何使用Python实现手绘图效果
  13. Node.js 静态web服务
  14. ​在线问题反馈模块实战(十二)​:实现图片删除功能
  15. 使用java+OpenCV进行图片对比并标记差异部分(支持中文图片路径)
  16. Python爬虫-关于HTPP请求方法有哪些
  17. MySQL面试问题包含答案仅参考
  18. Problem:机器翻译
  19. 计算机视觉二值分类器及判别模型,基于计算机视觉的龙井茶叶嫩芽识别方法-毕业论文.doc...
  20. 考研——史上计算机类最全辅导书推荐

热门文章

  1. android onresume方法,Android onActivityResult()和onResume()的执行顺序
  2. stdin and STDIN_FILENO
  3. 今天换个画风,来聊聊广告吧
  4. CDC如何使用 ReleaseDC
  5. 液晶显示器闪烁条纹_条纹液晶显示器的开始...和多显示器生产力的终结?
  6. 为什么油烟净化器会引起火灾?
  7. 计算机专业美术课教案,教案《电脑美术》教学设计
  8. 微信小程序文本查看更多和收起
  9. 如何给iMindMap移动版添加分支
  10. 深度强化学习-Double DQN算法原理与代码