jquery auto以自定义格式添加逗号

时间:2018-04-23 10:26:41

标签: javascript jquery

我想在输入字段中添加自动逗号。我搜索过它并找到了很多答案和参考资料,但我找不到我想要的东西。几乎所有答案都涵盖相同的数字模式。以下代码生成:22,10,2015。但我希望采用这种格式2015,10,22

我使用了以下代码,并尝试自定义,但无法成功。

$('#your-id').bind('keyup','keydown', function(event) {
    var inputLength = event.target.value.length;
    if (event.keyCode != 8) {
        if(inputLength === 2 || inputLength === 5) {
            var thisVal = event.target.value;
            thisVal += ',';
            $(event.target).val(thisVal);
        }
    }
})

2 个答案:

答案 0 :(得分:1)

<input type="text" id="text" onkeyup="valid()">
<script>
  function valid(){
    var text=document.getElementById("text").value;
    var ne_text=text.split(",").join("").split("");
    var li_text="";
    for(var i=0;i<ne_text.length;i++){
      li_text+=ne_text[i];
      if(i==3 && i<ne_text.length-1){
        li_text+=",";
      }else if(i==5 && i<ne_text.length-1){
        li_text+=",";
      }else if(i==7){
        document.getElementById("text").value=li_text;
        break;
      }
    }
    document.getElementById("text").value=li_text;
  }
</script>

答案 1 :(得分:1)

我几乎可以肯定我没有正确理解你的问题,但是你需要的就是改变条件的长度。

试试这个:

$('#your-id').bind('keyup','keydown', function(event) {
  var inputLength = event.target.value.length;
  if (event.keyCode != 8){
    if(inputLength === 4 || inputLength === 7){
      var thisVal = event.target.value;
      thisVal += ',';
      $(event.target).val(thisVal);
    }
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" id="your-id">