22 Stimmen

Erlauben Textfeld nur für Buchstaben mit jQuery?

Ich möchte ein Textfeld machen nur Buchstaben (a-z) mit jQuery. Irgendwelche Beispiele?

1voto

Saurin Dashadia Punkte 1052

Lösung beschrieben durch @dev-null-dweller funktioniert absolut.

Ab dem jQuery 3.0 , .bind() Methode ist veraltet. Sie wurde ersetzt durch die Methode .on() Methode zum Anhängen von Ereignishandlern an ein Dokument seit jQuery 1.7 Daher wurde von seiner Verwendung bereits abgeraten.

Die Liste der veralteten Methoden für jQuery 3.0 finden Sie hier: http://api.jquery.com/category/deprecated/deprecated-3.0/

Die Lösung ist also die Verwendung von .on() Methode stattdessen .bind() .

Wenn Sie vorhandene Elemente binden müssen, lautet der Code :

$('.alphaonly').on('keyup blur', function(){
    var node = $(this);
    node.val( node.val().replace(/[^a-z]/g,'') ); 
}); 

Wenn Sie an dynamische Elemente binden müssen, lautet der Code :

$(document).on('keyup blur', '.alphaonly', function(){
    var node = $(this);
    node.val(node.val().replace(/[^a-z]/g,'') );
});

Sie müssen das Ereignis an das Dokument oder ein anderes Element binden, das bereits beim Laden des Dokuments vorhanden ist.

Ich hoffe, dies ist hilfreich für die neue Version von jQuery.

1voto

dn_pdih Punkte 11
  $("#test").keypress(function(event){
        var inputValue = event.charCode;
        //alert(inputValue);
        if(!((inputValue > 64 && inputValue < 91) || (inputValue > 96 && inputValue < 123)||(inputValue==32) || (inputValue==0))){
            event.preventDefault();
        }
    });
  $("#test1").keypress(function(event){
        var inputValue = event.charCode;
        //alert(inputValue);
        if(!((inputValue > 47 && inputValue < 58) ||(inputValue==32) || (inputValue==0))){
            event.preventDefault();
        }
    });

  $("#test3").keypress(function(event){
        var inputValue = event.charCode;
        //alert(inputValue);
        if(!((inputValue > 64 && inputValue < 91) || (inputValue > 96 && inputValue < 123)||(inputValue==32)||(inputValue > 47 && inputValue < 58) ||(inputValue==32) || (inputValue==0))){
            event.preventDefault();
        }
    });

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
For letters:<input type="text" id="test">   <br>
<br>
For Numbers: <input type="text" id="test1">
<br>
<br>
For Alphanumeric: <input type="text" id="test3">

0voto

Danke an die erste Antwort, die ich erhalten habe.

<input name="lorem" class="alpha-only">

<script type="text/javascript">
   $(function() 
   {
        $('.alpha-only').bind('keyup input',function()
        {       
            if (this.value.match(/[^a-zA-Z áéíóúÁÉÍÓÚüÜ]/g)) 
            {
                this.value = this.value.replace(/[^a-zA-Z áéíóúÁÉÍÓÚüÜ]/g, '');
            }
        });
    });
</script>

Dies hat einige Verbesserungen wie Buchstaben mit Akzenten, und das Ändern von "Unschärfe" für "Eingabe" korrigiert die Nicht-Buchstaben kurzzeitig angezeigt, auch wenn Sie Text mit der Maus auswählen und Ziehen korrigiert wird.

0voto

Sachin Parse Punkte 1081

JQuery-Funktion, die nur Klein- und Großbuchstaben zulässt:

Textfeld:

<input id="a" type="text" />

JQuery-Funktion:

$('#a').keydown(function (e) {
    if (e.ctrlKey || e.altKey) {
           e.preventDefault();
    } else {
           var key = e.keyCode;
           if (!((key == 8) || (key == 32) || (key == 46) || (key >= 35 && key <= 40) || (key >= 65 && key <= 90))) {
                e.preventDefault();
           }
    }
});

0voto

Rijo Punkte 2139

Unterstützt die Rücktaste:

new RegExp("^[a-zA-Z \b]*$");

Bei dieser Option wird das Mobiltelefon nicht überprüft. Sie können also eine jQuery Maske Plugin und verwenden Sie folgenden Code:

jQuery('.alpha-field, input[name=fname]').mask('Z',{translation:  {'Z': {pattern: /[a-zA-Z ]/, recursive: true}}});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X