我需要知道如何您可以从任何input type="text"
字段中输入表情符号,用户ABE能够提交我的形式阻止平板电脑或移动用户,但它引起我的中间层的错误,因为他们来通过作为正方形,并写入我的数据库作为正方形。停止表情被输入输入字段中
不能在谷歌上找到解决方案,所以认为id在这里问。
是否有我可以使用的HTML属性?
我需要知道如何您可以从任何input type="text"
字段中输入表情符号,用户ABE能够提交我的形式阻止平板电脑或移动用户,但它引起我的中间层的错误,因为他们来通过作为正方形,并写入我的数据库作为正方形。停止表情被输入输入字段中
不能在谷歌上找到解决方案,所以认为id在这里问。
是否有我可以使用的HTML属性?
通过更改编码来使数据库兼容可能是一个更好的主意。
话虽这么说,你可以循环遍历文本字段中的所有字符,并确保他们的序号是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;
}
这是正确的答案。在表单处理过程中,应该/可以再次检查后端。 – eosrei
根据您的后端数据库,你也可以使用'utf8_unicode_bin'相当于编码和你的数据库将能够处理的表情符号就好了。 (只要你不假设1个字符长度为1字节) – Kris
@Kris我不想要emojis。 – murday1983
也许,但你可能想现在还是向下行,如中国,日本,朝鲜文,阿拉伯文等支持 – Kris