Обрезать значение поля ввода только до буквенно-цифровых символов / пробелов с помощью. с помощью jQuery - PullRequest
4 голосов
/ 19 июля 2011

Поэтому я пытаюсь создать поле ввода, в котором я могу ввести любые символы, но затем взять введенное значение строчными буквами, удалить все не алфавитно-цифровые символы, оставив "."вместо пробелов.

Например, если я введу:
Земля на 70% состоит из воды, -! * # $ ^^ & 30% LAnd

Вывод должен быть:
earth.is.70.water.30.land

Есть идеи, как это можно сделать без маскировки с помощью jQuery?

Ответы [ 3 ]

12 голосов
/ 19 июля 2011

Это на самом деле не вопрос jQuery, это можно сделать с помощью простого Javascript.Сначала необходимо ввести строчные буквы в тексте, затем заменить пробелы точками, а затем удалить не алфавитно-цифровые символы:

var myStr = "Earth is 70% water, -!*#$^^ & 30% LAnd"
myStr=myStr.toLowerCase();
myStr=myStr.replace(/ /g,".");
myStr=myStr.replace(/[^a-zA-Z0-9\.]+/g,"");

Этот ответ оставит несколько пробелов в виде точек, введенных пользователем.Если вы хотите, чтобы он соответствовал вашему ответу (который фактически объединяет несколько пробелов в один), добавьте дополнительную замену:

myStr=myStr.replace(/\.+/g, ".");
1 голос
/ 21 мая 2012
$(document).ready(function () {
        $(".ui-widget-content .ui-autocomplete-input").keydown(function (event) {


            if (event.shiftKey) {
                return false;
            }
                            if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 97 && event.keyCode <= 122) || (event.keyCode >= 65 && event.keyCode <= 90)) 
                            {
                                return true;
                            }
                            else {
                                return false;
                            }
        });
    });
0 голосов
/ 19 июля 2011

Привязка к событию keyPress и отмена не буквенно-цифровых символов.

Пример кода:

$("#target").keypress(function(event) { 
    var key = event.which;
    var keychar = String.fromCharCode(key).toLowerCase();
    // allow control keys
    if ((key==null) || (key==0) || (key==8) || 
        (key==9) || (key==13) || (key==27) )
         return true;

    if ((("abcdefghijklmnopqrstuvwxyz0123456789").indexOf(keychar) == -1)) 
       event.preventDefault();   
       return false;
    }   
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...