Ограничить символы, введенные в текстовое поле - PullRequest
2 голосов
/ 30 октября 2010

У меня есть текстовое поле, в котором пользователи вводят строку URL, которая не может содержать пробелы или не алфавитно-цифровые символы (если это точный способ выразить это).

Есть ли способ в Rails ограничить входв само текстовое поле, так что пробелы и символы, такие как / ":} {# $ ^ @ можно избежать?

Большое спасибо.


Чтобы уточнить, единственные символы, которые должнывозможны буквы и цифры.

Ответы [ 2 ]

2 голосов
/ 30 октября 2010

Проблема в том, что строки 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 голос
/ 30 октября 2010

Вы можете использовать jQuery Tools Validator, который использует теги HTML 5 для проверки ваших форм.Это отличный способ проверить ваши формы в едином стиле, не помещая JS во все формы: -.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...