如何在文本框中限制'♥♣'字符

Anu*_*haw 3 html mysql ruby-on-rails

如何将"♥♣"这些字符限制为保存到数据库中.如果这些字符出现在名称文本字段中,则应抛出错误消息.我在铁轨上使用红宝石.

谢谢,Anubhaw

Moi*_*man 6

有关仅允许特定字符集(白名单)的示例,请参阅此内容,IMO更好,更安全:

var allowed = /[a-ZA-Z0-9]/; // etc.

window.onload = function () {
    var input = document.getElementById("test");

    input.onkeypress = function () {
        // Cross-browser
        var evt = arguments[0] || event;
        var char = String.fromCharCode(evt.which || evt.keyCode);

        // Is the key allowed?
        if (!allowed.test(char)) {
            // Cancel the original event
            evt.cancelBubble = true;
            return false;
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

发件人: 阻止在文本框中键入非ascii字符

或者,您可以使用正则表达式去除非ascii字符.

请参阅此处:如何从Ruby中的字符串中删除所有非ASCII字符

  • +1为良好的JavaScript解决方案.但是,在插入数据库之前还需要检查RoR. (2认同)