Javascript 在输入中每三个数字后添加空格
我想在每三个数字后添加空格,但如果输入是Javascript 在输入中每三个数字后添加空格,javascript,html,input,Javascript,Html,Input,我想在每三个数字后添加空格,但如果输入是type=“number”,则此代码不起作用。有人知道如何修改代码以使其即使在type=“number” ? 以下是我的意见: <input type="number" id="phone" autocomplete="off" placeholder="(+420)"> 下面是脚本: <script> document.getElementByI
type=“number”
,则此代码不起作用。有人知道如何修改代码以使其即使在type=“number”
? 以下是我的意见:
<input type="number" id="phone" autocomplete="off" placeholder="(+420)">
下面是脚本:
<script>
document.getElementById('phone').addEventListener('input', function (e) {
e.target.value = e.target.value.replace(/[^\dA-Z]/g, '').replace(/(.{3})/g, '$1 ').trim();
});
</script>
document.getElementById('phone')。addEventListener('input',function(e){
e、 target.value=e.target.value.replace(/[^\dA-Z]/g',).replace(/(.{3})/g',$1').trim();
});
试试这个:
function insertBlankAfterEveryThreeCharacters(str) {
var str=str.split(" ").join("").split("");
var formatted=[];
while(str.length) {
for(var i=0; i<3 && str.length; i++) {
formatted.push(str.shift());
}
if(str.length) formatted.push(" ");
}
return formatted.join("");
}
document.getElementById('phone').addEventListener('input',function(e){
this.value=insertBlankAfterEveryThreeCharacters(this.value);
});
函数insertBlankAfterEveryThreeCharacters(str){
var str=str.split(“”).join(“”).split(“”);
var格式=[];
while(str.length){
对于(var i=0;i尝试以下方法:
function insertBlankAfterEveryThreeCharacters(str) {
var str=str.split(" ").join("").split("");
var formatted=[];
while(str.length) {
for(var i=0; i<3 && str.length; i++) {
formatted.push(str.shift());
}
if(str.length) formatted.push(" ");
}
return formatted.join("");
}
document.getElementById('phone').addEventListener('input',function(e){
this.value=insertBlankAfterEveryThreeCharacters(this.value);
});
函数insertBlankAfterEveryThreeCharacters(str){
var str=str.split(“”).join(“”).split(“”);
var格式=[];
while(str.length){
对于(var i=0;ii,如果其中包含空格,则它不是一个数字。使用type=tel
。css可能是一个更好的选择如果其中包含空格,则它不是一个数字。使用type=tel
。css可能是一个更好的选择