Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 限制输入到文本字段中的字符_Javascript_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Javascript 限制输入到文本字段中的字符

Javascript 限制输入到文本字段中的字符,javascript,ruby-on-rails,ruby-on-rails-3,Javascript,Ruby On Rails,Ruby On Rails 3,我有一个文本字段,用户在其中输入一个URL字符串,其中不能包含空格或非字母数字字符(如果这是一种准确的方式) 在Rails中有没有一种方法可以限制文本_字段本身的输入,从而避免像/“:}{{#$^@这样的空格和字符 非常感谢 要澄清的是,唯一可能的字符是字母和数字。这里的问题是URL字符串可以有斜杠(/)和散列标记(#)。因此,您的正则表达式将非常复杂,以确保正确过滤字段的正确部分。但对于纯字符过滤,您可以使用简单正则表达式删除任何非字母数字字符 不确定是否有ruby特定的内容,但在纯java

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

在Rails中有没有一种方法可以限制文本_字段本身的输入,从而避免像/“:}{{#$^@这样的空格和字符

非常感谢



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

这里的问题是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>

formfield的var=document.getElementById('form-field');
oFormField.onkeyup=函数(){
oFormField.value=oFormField.value.replace(/[^a-zA-Z0-9]/,“”);
}

您可以使用jQuery Tools Validator,它使用HTML5标记来验证表单。 这是一种很好的方法,可以以一种无干扰的方式验证表单,而不必将JS放在表单上:-)

查看“模式”HTML5标记,它允许您根据Regexp验证字段