我想要做的是尝试修改字符串,如果我输入11111111应该被修改为
11-11-1111
<input id="6" />
这是我的jquery代码
$("#6").on('keyup',function(e)
{
this.value = this.value.replace(/[^0-9\.|-]/g,'');
if($(this).val().length == 2)
{
$("#6").val($("#6").val()+'-');
if($(this).val().length == 2)
{
$("#6").val($("#6").val()+'-');
}
}
});
它是在前两位数之后添加-
但不是之后。
答案 0 :(得分:0)
使用此代码:
var cost = "";
$('#6').keyup(function(){
var cost_designed = $('#6').val();
var nums = unseparate_nums(cost_designed);
cost = "";
$('#6').val(separate_nums(nums));
});
function unseparate_nums(nums) {
var nums_ = "";
while (true) {
if (nums.length > 0) {
if (nums.substr(0,1) != "-") {
nums_ = nums_ + nums.substr(0,1);
nums = nums.substr(1);
} else {
nums = nums.substr(1);
}
} else {
return nums_;
}
}
}
function separate_nums(nums) {
if (nums.length > 2) {
cost = "-" + nums.substr(-2) + cost;
separate_nums(nums.substr(0, nums.length-2));
return cost;
} else {
cost = nums + cost;
return cost;
}
}