Преобразовать в верхний регистр как пользовательские типы, используя JavaScript - PullRequest
37 голосов
/ 06 апреля 2011

Я хочу преобразовать строчные буквы в прописные, когда пользователь печатает с использованием javascript. Любые предложения приветствуются.

Я пробовал следующее:

$("#textbox").live('keypress', function (e) {
    if (e.which >= 97 && e.which <= 122) {
        var newKey = e.which - 32;
        // I have tried setting those
        e.keyCode = newKey;
        e.charCode = newKey;
    }
});

Ответы [ 12 ]

0 голосов
/ 26 июля 2012
$("#id").keyup(function() {
    $(this).val($(this).val().replace(/([a-z])/,function(){
        return $("#id").toUpperCase();
    }));
});

Небольшое исправление в вышеприведенном скрипте, теперь это будет отлично работать.

0 голосов
/ 19 июня 2012

Хотя подход UCase на стороне сервера CSS +, вероятно, «лучший», вот решение jQuery на стороне клиента, которое я использую, когда возникает необходимость:

$("#id").keyup(function() {
    $(this).val($(this).val().replace(/([a-z])/,function(s){return s.toUpperCase()}));
});

Она не красивая, но она получитработа сделана!

...