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

C# 停止在输入字段中输入表情符号,c#,jquery,html,forms,emoji,C#,Jquery,Html,Forms,Emoji,我需要知道如何阻止平板电脑或移动用户在任何input type=“text”字段中输入emojis,因为用户可以提交我的表单,但这会在我的中间层导致错误,因为他们以方块的形式通过,并以方块的形式写入数据库 在谷歌上似乎找不到解决方案,所以我想在这里问一下 是否有可以使用的HTML属性?通过更改编码使数据库兼容可能是一个更好的主意 这就是说,您可以循环文本字段中的所有字符,并确保它们的序号介于32和255之间(包括32和255)。这将使您只允许打印ASCII字符,这对于任何英文文本都足够了 类似这

我需要知道如何阻止平板电脑或移动用户在任何
input type=“text”
字段中输入emojis,因为用户可以提交我的表单,但这会在我的中间层导致错误,因为他们以方块的形式通过,并以方块的形式写入数据库

在谷歌上似乎找不到解决方案,所以我想在这里问一下


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

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

这就是说,您可以循环文本字段中的所有字符,并确保它们的序号介于32和255之间(包括32和255)。这将使您只允许打印ASCII字符,这对于任何英文文本都足够了

类似这样的内容:(未测试,在textarea中键入)

函数条带NONASCII(输入){
让输出=“”;
对于(变量i=0;i如果(c>=32&&c取决于您的数据库后端,您还可以使用
utf8\u unicode\u bin
等效编码,您的数据库将能够很好地处理表情符号(只要您不假设1个字符为1个字节长)@我一点也不想要表情符号。也许吧,但你现在或以后可能会想要其他unicode的好处,比如中文、日文、韩文、阿拉伯文等等。support@Kris该网站只支持英语,而且永远都不会支持。因此,我不需要考虑其他语言。这很好,也正是我回答你实际问题的原因。我仍然必须给出这些类型的建议,因为很多时候人们并不知道他们正在试图解决“错误”的问题。只是在这里尝试帮助。这是正确的答案。在表单处理过程中,应该/可以再次检查后端。
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;
}