2016-09-20 78 views
1

我需要知道如何您可以从任何input type="text"字段中输入表情符号,用户ABE能够提交我的形式阻止平板电脑或移动用户,但它引起我的中间层的错误,因为他们来通过作为正方形,并写入我的数据库作为正方形。停止表情被输入输入字段中

不能在谷歌上找到解决方案,所以认为id在这里问。

是否有我可以使用的HTML属性?

+0

根据您的后端数据库,你也可以使用'utf8_unicode_bin'相当于编码和你的数据库将能够处理的表情符号就好了。 (只要你不假设1个字符长度为1字节) – Kris

+0

@Kris我不想要emojis。 – murday1983

+0

也许,但你可能想现在还是向下行,如中国,日本,朝鲜文,阿拉伯文等支持 – Kris

回答

1

通过更改编码来使数据库兼容可能是一个更好的主意。

话虽这么说,你可以循环遍历文本字段中的所有字符,并确保他们的序号是32到255(含)之间。这样可以让你只允许打印ASCII字符,对于任何英文文本来说都足够了。

事情是这样的:(未经测试,在textarea的类型)

function stripNonAscii(input) { 
    let output = ''; 
    for (var i = 0; i < input.length; i++) { 
     let c = input.charCodeAt(i); 
     if(c >= 32 && c <= 255) { 
      output += input.substring(i, 1); 
     } 
    } 
    return output; 
} 
+0

这是正确的答案。在表单处理过程中,应该/可以再次检查后端。 – eosrei