2017-01-16 20 views
0

正規表現は、有効なライブフォーマットを持っています (/^\d{3}\-?\d{1,13}\-\d{2}$/)の文字列を入力してください。それはつまり、私が(123)と入力すると、彼は自動的にput(123-)します。JavaScript jQuery正規表現while

jQuery関数を使用して、以下の例に示しました。

ポイントはユーザーが自分の銀行口座を入力するときに書いておきたいものです。
---このジョブは、正規表現で終了させることができる---

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、正規表現(allone)タスクのこの種のために十分ではありません。あなたは、ユーザーが入力している間にcharでcharをチェック/置換しなければならず、フィールド値を変更する必要があります...単純ですが、テキストフィールドへのコピー/ペーストについて考える必要があります。 :https://igorescobar.github.io/jQuery-Mask-Plugin/おそらくこれはあなたを助けるかもしれません...;) – sinisake

+0

tnx alot ...私はこのコードを動作させるので、私は検証するためだけにregExを使用します。 3つのシンプルな関数( - )と他のものを挿入する...と私は200行のようなそのプライティ大きなコードを見た...と私はこの種の仕事のためのかなり大きなコードを考えています..今あなたは私に送るものを見ますXD best Rigarts –

+0

誰かに何か考えがありますか? –

答えて

0

あなたはreplace機能続くkeypress機能を使用することができます。 replaceは、第2のパラメータとして機能をとることができる。これを行うには1つの方法があります。

$("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

この父兄は入力を作成して作成する作業をしますか 123-123123-12?私はこれのすべての部分を変更することはできますか? 私はregexに新しく、私はそれをよく理解していません。私にリンクするチュートリアルはありますか?あなたはコードスニップを作ることができますか? –