我有一个文本字段,用户输入的URL字符串不能包含空格或非字母数字字符(如果这是一种准确的放置方式)。
Rails中是否有办法限制进入text_field本身,以便可以避免使用/“:} {#$ ^ @这样的空格和字符?
非常感谢。
澄清一下,唯一可能的字符是字母和数字。
答案 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标记,它允许您针对正则表达式验证字段。