zoukankan      html  css  js  c++  java
  • 知识点---移动端禁止输入表情符号

    移动端过禁止输入emoji表情实现方案

     

    最近手头上的项目有一个需求就是输入框不能输入表情,然后就各种在网上找资料,网上好多人给的方案是:

    str = str.replace(/uD83C[uDF00-uDFFF]|uD83D[uDC00-uDE4F]/g, "");

    用法大概就是:

    <input onkeyup = "this.value = value.replace(/uD83C[uDF00-uDFFF]|uD83D[uDC00-uDE4F]/g, "")">;

    这个对于搜狗输入法是有用的,但是我手机上换了讯飞输入法试了试,并没什么卵用,第三方书法的emoji表情unicode编码范围还真不好确定。

    所以反着来。你不让输入表情,我就只能输入中文,英文,数字,标点符号不就实现需求了吗?

    <input type="text" id="ipt1" oninput="value = value.replace(/[^u4E00-u9FA5|d|a-zA-Z|
    s,.?!,。?!…—&$=()-+/*{}[]]|s/g, '')" />

    亲测有效。

    ///////////////////////////////////////////////////////////////////////////////

    更新:

    /////////////////////////////////////////////////////////////////////////////

    上述的代码在ios端出现各种神奇的bug,简单点就是ios下不可用。所以还得找方法。还是找到了

    复制代码
            // 判断是ios还是安卓
            if (ios_or_android() == 'ios') {
                $("#post").on("keyup", function(){
                    var param = $(this).val();
                    var regRule = /[^u4E00-u9FA5|d|a-zA-Z|
    s,.?!,。?!…—&$=()-+/*{}[]]|s/g;
                    $(this).val(param.replace(regRule,""));
                })     
            } else {
    
                $("#post").on("input", function(){
                    var param = $(this).val();
                    var regRule = /[^u4E00-u9FA5|d|a-zA-Z|
    s,.?!,。?!…—&$=()-+/*{}[]]|s/g;
                    $(this).val(param.replace(regRule,""));
                })
            }
    
            /*
            @功能:判断终端是ios还是安卓
             */ 
            function ios_or_android() {
              var u = navigator.userAgent;
              var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
              var isiOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
    
              if (isAndroid) {
                return 'and';
              } else {
                return 'ios';
              }
            }
    复制代码
  • 相关阅读:
    简单验证码生成
    java编译器不匹配问题(java compiler level does not match the version of the installed java project facet)
    jQuery中$.fn
    ThreadLocal是什么?
    xmind 快捷键
    powerdesigner 连接oracle
    vs2019 System.FormatException:“Could not parse the JSON file.”
    svn常见操作
    sqlserve报错处理“数据类型 text 和 varchar 在 equal to 运算符中不兼容”
    数据库随机数据
  • 原文地址:https://www.cnblogs.com/liaohongwei/p/10725187.html
Copyright © 2011-2022 走看看