限制输入text_field的字符

时间:2010-10-30 05:38:54

标签: javascript ruby-on-rails ruby-on-rails-3

我有一个文本字段,用户输入的URL字符串不能包含空格或非字母数字字符(如果这是一种准确的放置方式)。

Rails中是否有办法限制进入text_field本身,以便可以避免使用/“:} {#$ ^ @这样的空格和字符?

非常感谢。


澄清一下,唯一可能的字符是字母和数字。

2 个答案:

答案 0 :(得分:2)

这里的问题是URL字符串可以有斜杠(/)和哈希标记(#)。所以你的正则表达式将非常复杂,以确保正确过滤字段的正确部分。但对于普通字符过滤,您可以使用简单的正则表达式删除任何非字母数字字符。

不确定任何特定于ruby的内容,但是直接使用javascript:

<html>
    <body>
        <form>
            <input type="text" name="whatever" id="form-field" value="" />
        </form>
    </body>
    <script type="text/javascript">
        var oFormField = document.getElementById('form-field');
        oFormField.onkeyup = function() {
            oFormField.value = oFormField.value.replace(/[^a-zA-Z0-9]/, '');
        }
    </script>
</html>

答案 1 :(得分:1)

您可以使用jQuery Tools Validator使用HTML 5标记来验证表单。 这是一种以非Unobcursive方式验证表单的好方法,而不会将JS全部放在表单上: - )。

查看“模式”HTML 5标记,它允许您针对正则表达式验证字段。

http://flowplayer.org/tools/validator/index.html