【问题标题】:Ionic/Cordova/Phonegap: Is there a way to disable Emoji-Keyboard on iOS and Android?Ionic/Cordova/Phonegap:有没有办法在 iOS 和 Android 上禁用表情符号键盘?
【发布时间】:2017-03-22 12:48:08
【问题描述】:

有没有办法在 iOS 和 Android 上只允许 ASCII 键盘? 我正在使用 Ionic 框架。

我无法在互联网上找到有关此问题的任何信息。我刚刚找到some native solutions

【问题讨论】:

  • 你找到解决办法了吗?

标签: cordova ionic-framework keyboard emoji


【解决方案1】:

试试这个:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{        
    if ([textField isFirstResponder])
    {
        if ([[[textField textInputMode] primaryLanguage] isEqualToString:@"emoji"] || ![[textField textInputMode] primaryLanguage])
        {
            return NO;
        }
    }
    return YES;
}

更多信息请看这里:How to disable iOS 8 emoji keyboard?1

编辑:

您可以使用以下代码从键盘隐藏表情符号:

txtField.keyboardType=UIKeyboardTypeASCIICapable;

见她的github代码:https://github.com/woxtu/NSString-RemoveEmoji

【讨论】:

    【解决方案2】:

    我用这段代码来限制表情符号的输入

    this.message_text = e.target.value
          .replace(
            /(?:[\u2700\-\u27bf]|(?:\ud83c[\udde6\-\uddff]){2}|[\ud800\-\udbff][\udc00\-\udfff]|[\u0023\-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70\-\udd71]|\ud83c[\udd7e\-\udd7f]|\ud83c\udd8e|\ud83c[\udd91\-\udd9a]|\ud83c[\udde6\-\uddff]|\ud83c[\ude01\-\ude02]|\ud83c\ude1a|\ud83c\ude2f|\ud83c[\ude32\-\ude3a]|\ud83c[\ude50\-\ude51]|\u203c|\u2049|[\u25aa\-\u25ab]|\u25b6|\u25c0|[\u25fb\-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600\-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9\-\u23f3]|[\u23f8\-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190\-\u21ff]|[\uE000\-\uF8FF]|\uD83C[\uDF00\-\uDFFF]|\uD83D[\uDC00\-\uDDFF])/g,
            ""
          )
          .replace(
            /[^A-Za-z0-9\w\.,\?""!@#\$%\^&\*\(\)\-_=\+;:<>\/\\\|\}\{\[\]`~\s\']*/g,
            ""
          );
    
    
          let regExp = new RegExp('^[A-Za-z0-9?@$,.*%#!=+:&;"`~_ ]+$');
          if (! regExp.test(this.message_text)) {
            e.target.value = this.message_text.slice(0, -1);
          }
    

    它会禁用键盘上的表情符号,但我有一个问题,让我们看看你们是否注意到它!如果你注意到它,请回复它的解决方案!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-06
      • 2020-10-30
      • 2018-07-08
      • 2013-10-02
      • 1970-01-01
      • 2018-10-05
      • 1970-01-01
      • 2014-09-29
      相关资源
      最近更新 更多