2017-02-17 76 views
3

所以我想实现的是每隔四分之后用空格替换。 就像我开始写在按键上输入1234123412341234, 我想实现1234 1234 1234 1234,当用户键入时。用空格jquery替换每个第四个输入值之后?

<input type="text" id="number" maxlength=19 /> 

这里是JS

$('#number').on('keypress', function() { 
    if (this.value.length >= 4) { 
    this.value = this.value.slice(0, 4) + ' '+this.value.slice(5, 9); 
    } 

所以这个代码仅创建第四后一个空间,1234 123412341234. 但如何对输入值的其余部分吗?提前致谢。

+0

jQuery是不是该解决方案在这里,你可以用标准的JS做到这一点 - http://stackoverflow.com/questions/32030727/replace-every-nth-character-from- a-string – G0dsquad

回答

4

这可能是你正在寻找

注意它的错误,当你键入快一点什么,我是个大气压修复它< - 应该罚款

$(function(){ 
 
    $("input").keydown(function(){ 
 
     if ((($(this).val().length+1) % 5)==0){ 
 
      $(this).val($(this).val() + " "); 
 
     } 
 
    });   
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input />

+0

So so tnx :) – NemanjaD

+0

欢迎您:) –

5

您可以使用替换并查找四个字符。

console.log('1234123412341234'.replace(/.{4}/g, '$& '));

+0

伟大的解决方案。 –

+0

打字时无法正常工作。 – Mohammad

相关问题