停止在输入字段中输入表情符号

Stop Emoji Being Entered In Input Fields

我需要知道如何阻止平板电脑或移动用户在任何 input type="text" 字段中输入表情符号,因为用户能够提交我的表单,但它会导致我的中间层出现错误正方形,也以正方形的形式写入我的数据库。

似乎无法在 Google 上找到解决方案,所以想在这里提问。

是否有我可以使用的 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;
}