2017-09-07 6 views
0

を置き換えます1234-1234-1234クロームAndroi 6Xバージョン入力値私は、コード入力テキスト上の人物フィル(からkeyup jqueryの)値が4 diginumber</p> <p>例をspilitする場合は自分の携帯電話(サムスンギャラクシー注4) で起こった重複する値

になるが、私は自分のコード 例をテストする場合:123412341234それは1234-1123-4121-2341-2312-3412-3412-3412-3411-2341-2341-2123-4123-4123-になります1234-1234-1234

私はjqueryを使用します

私のコードの下

$('#account_bank_number').keyup(function(e){ 
e.preventDefault(); 
var account_bank_number = $(this).val(); 
var account_bank_number_filter = account_bank_number.replace(/-/g, ""); 
var account_bank_number_new = autoSplit(5, account_bank_number_filter, '-'); 
$('.debug-mode').html(account_bank_number_new); 
} 
function autoSplit(number, string, splitChar) { 
var stringLength = string.length; 
var countNumber = 1; 
var newString = ''; 

for (var i = 0; i <stringLength ; i++) { 
    if (countNumber == number && string.charAt(i) != splitChar) { 
     newString = newString+splitChar+string.charAt(i); 
     countNumber = 2; 
     continue; 
    } 
    newString = newString + string.charAt(i); 
    countNumber++; 
}; 
return newString; 

}

私が間違って何?

答えて

0

あなたがこれを必要とするが、あなたは、簡単な操作を行うことができるかどうかいいえわからこんにちは: ""

var str = "123412341234"; 
str.replace(/(.{4})/g,"$1-").slice(0,-1); 

$(document).ready(function(){ 
 
\t //uncomment if you want do it onload page 
 
\t //$("#account_bank_number").keyup(); 
 
}); 
 

 
//test on click to the input 
 
$("#account_bank_number").click(function() { 
 
    $("#account_bank_number").keyup(); //this is a trigger 
 
}); 
 

 
$('#account_bank_number').keyup(function(e){ 
 
e.preventDefault(); 
 
var account_bank_number = $(this).val(); 
 
var account_bank_number_filter = account_bank_number.replace(/-/g, "");//no sure you need it ... 
 
var account_bank_number_new = account_bank_number_filter.replace(/(.{4})/g,"$1-").slice(0,-1); 
 
$('.debug-mode').html(account_bank_number_new); 
 
//adding the value to the input comment if you dont need \t 
 
this.value = account_bank_number_new; 
 
});
.debug-mode{background-color:red;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
 
<input id="account_bank_number" type="text" value="1234123412341234"/> 
 
<div class="debug-mode"></div>

単純な正規表現str "{4}"は4文字ごとに文字列を切り取る番号です "$ 1-"はパターン "$ 1"は新しい文字列切り取りで、この最後の " - "は文字の追加で、スライスはreplace関数で最後に追加された文字を削除しました。私の英語については申し訳ありません。よろしくお願いします。

+0

私は入力値を変更する必要があります。 –

+0

$(this).val();にstrを置き換えてください。あなたのイベント内で "this.value"を使用するか、document.getElementByIdまたはdocument.querySelector( 'input [name = "class_name"])を使用して、例えば –

+0

を変更しました。 –

関連する問題