我想在输入字段中添加自动逗号。我搜索过它并找到了很多答案和参考资料,但我找不到我想要的东西。几乎所有答案都涵盖相同的数字模式。以下代码生成: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);
}
}
})
答案 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">