Javascript Can';t在智能手机上删除格式化的信用卡号

Javascript Can';t在智能手机上删除格式化的信用卡号,javascript,credit-card,formatted-text,Javascript,Credit Card,Formatted Text,这段代码适用于个人电脑、智能手机等。问题是,当我试图从手机上删除号码时,我无法删除,因为它会自动在4、8、12符号后添加空格。在windows上,我只是按住backspace键,它会删除所有内容,但在android上,这只是删除数字,它会在空格处停止。每次我需要选择所有数字(比如在Win中选择CTRL+a)并删除时,只有这样,所有数字都会用空格删除 $('ccNumber')。在('keyup',function()上{ var ccNumString=$(this.val() ccNumSt

这段代码适用于个人电脑、智能手机等。问题是,当我试图从手机上删除号码时,我无法删除,因为它会自动在4、8、12符号后添加空格。在windows上,我只是按住backspace键,它会删除所有内容,但在android上,这只是删除数字,它会在空格处停止。每次我需要选择所有数字(比如在Win中选择CTRL+a)并删除时,只有这样,所有数字都会用空格删除

$('ccNumber')。在('keyup',function()上{
var ccNumString=$(this.val()
ccNumString=ccNumString。替换(/[^0-9]/g',)
var typeCheck=ccNumString.substring(0,2);
变量block1=''
变量block2=''
变量block3=''
变量block4=''
var格式化=“”
//所有支持卡类型都有一个4位数的firt块
block1=ccNumString.substring(0,4);
if(block1.length==4){
block1=block1+“”;
}
//对于4X4卡
block2=ccNumString.substring(4,8);
if(block2.length==4){
block2=block2+“”;
}
block3=ccNumString.substring(8,12);
if(block3.length==4){
block3=block3+“”;
}
block4=ccNumString.substring(12,16);
格式化=块1+块2+块3+块4;
$(this).val(格式化)
})
输入{
宽度:250px;
高度:20px;
字体大小:16px;
}

最简单的解决方案是在重写之前修剪字符串

$('ccNumber')。在('keyup',function()上{
var ccNumString=$(this.val()
ccNumString=ccNumString。替换(/[^0-9]/g',)
var typeCheck=ccNumString.substring(0,2);
变量block1=''
变量block2=''
变量block3=''
变量block4=''
var格式化=“”
//所有支持卡类型都有一个4位数的firt块
block1=ccNumString.substring(0,4);
if(block1.length==4){
block1=block1+“”;
}
//对于4X4卡
block2=ccNumString.substring(4,8);
if(block2.length==4){
block2=block2+“”;
}
block3=ccNumString.substring(8,12);
if(block3.length==4){
block3=block3+“”;
}
block4=ccNumString.substring(12,16);
格式化=块1+块2+块3+块4;
$(this).val($.trim(格式化))
})
输入{
宽度:250px;
高度:20px;
字体大小:16px;
}

事实上,在windows上,它也会重写空间,但速度太慢,删除也有问题。。。只是不添加空格作为最后一个字符?