2017-01-16 5 views
0

Haben regelmäßige Ausdruck haben Energie zu leben Format Eingabe Zeichenfolge in diesem Format (/^\d{3}\-?\d{1,13}\-\d{2}$/). Damit meine ich, wenn ich (123) tippe, setzt er automatisch (123-).JavaScript jQuery Regexp während

Ich benutze jQuery-Funktion, die ich im folgenden Beispiel aufgeführt.

--Point ist, wenn Benutzer, was ich sein Bankkonto eingeben möchte ich es formatieren will.
--- Kann diese Arbeit von Regexp fertig ---

HTML:

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

JavaScript:

//This work on every typed character 
    $("#radi").bind('input', function(event) { 

     $("#radi").bankPlug('change', $(this).val()); 
    }); 
+0

Svice, regex (allone) ist für diese Art von Aufgaben nicht ausreichend. Sie müssen Char durch Char überprüfen/ersetzen, während Benutzer eingeben und Feldwert ändern ... scheint einfach zu sein, aber Sie müssen auch über das Kopieren/Einfügen in Textfelder nachdenken ... machen Sie Ihr Leben leichter : https://igorescobar.github.io/jQuery-Mask-Plugin/ Vielleicht könnte dir das helfen ...;) – sinisake

+0

tnx alot ... Weil ich diesen Code funktioniere, aber ich benutze regEx nur zum Validieren .. ich habe gemacht 3 einfache Funktionen zum Einfügen (-) und andere Dinge ... und ich sah seine Prity Big Code wie 200 Zeilen ... und ich denke, seine ziemlich großen Code für diese Art von Job .. Jetzt werde ich schauen, was Sie mir schicken XD besten Rigarts –

+0

DO jemand eine Idee haben? –

Antwort

0

können Sie verwenden, um die keypress Funktion durch die replace Funktion gefolgt. replace kann eine Funktion als zweiter Parameter übernehmen. Hier ist eine Möglichkeit, es zu tun.

$("input").on("keypress", function(e) { 
 
    var inputNum = $(this).val(); 
 
    if (e.keyCode != 45 && (e.keyCode < 48 || e.keyCode > 57)) { 
 
     return false; 
 
    } 
 
    $(this).val($(this).val().replace(/\d{3}/, function(n) {  
 
     return (/\d{3}-/).test(inputNum) ? n : n + "-" 
 
    })); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="number" />

+0

Funktioniert dieses Gerät für das Erstellen und Formatieren des Eingangs 123-123123-12? Kann ich jeden einzelnen Teil davon modifizieren? Ich bin neu in Regex und ich verstehe es nicht gut, haben Sie ein Tutorial, um mich zu verknüpfen? oder kannst du Code-Snips machen, die funktionieren? –