2010-10-30 157 views
2

我有一個文本字段,用戶輸入一個URL字符串,該字符串不能包含空格或非字母數字字符(如果這是一個準確的方式)。限制輸入到text_field的字符

是否有Rails的辦法限制進入text_field本身,這樣的空間和字符,如/「:} {#$^@可以避免

非常感謝


要澄清,唯一可能的字符應該是字母和數字

回答

2

這裏的問題是URL字符串可以有斜線(/)和散列標記(#)。所以你的正則表達式將是相當複雜的確保該字段的正確部分被正確過濾,但對於普通的c字符過濾,您可以使用簡單的正則表達式來刪除任何非字母數字字符。

不知道任何事情紅寶石特有的,但在直的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

您可以使用一個使用HTML 5個標記來驗證表單的jQuery工具驗證。 這是一種以Unobscursive方式驗證表單的好方法,無需將JS全部放在表單上:-)。

看看「模式」的HTML 5標籤,它允許你根據Regexp驗證字段。

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

+0

+1非常感謝Slainer! – sscirrus 2010-10-31 07:16:46

+0

該鏈接不再有效。 – fatfrog 2016-10-19 16:07:59