限制flutter中Text Field中的各种表情符号

Vic*_*khe 3 regex dart flutter

我正在寻找一种方法,在该方法中不应允许使用表情符号字符textfield

或者是一种查明字符串中是否存在表情符号的方法 [regex]

任何一种方式都可以锻炼。

我已经浏览了所有相关问题及其解决方案,但它们并未涵盖整个用例。

Vic*_*khe 6

最终我找到了该查询的解决方案,因此将答案发布在这里。

对于第一部分 限制表情符号textfield

在您的小部件中添加以下代码textfield

inputFormatters: [
   BlacklistingTextInputFormatter(
     RegExp('(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])')
],
Run Code Online (Sandbox Code Playgroud)

这将阻止文本字段中出现各种表情符号。

第二部分

if there is a emoji present in a string or not [regex]

下面提到的代码将检测字符串中是否存在任何表情符号

if(string.contains(RegExp(r'(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])'))){
   // your code here
}
Run Code Online (Sandbox Code Playgroud)