我怎样才能在格式化文本的末尾加上句号

时间:2017-11-10 22:36:08

标签: javascript

这是我的第一个问题,抱歉,如果它是愚蠢的,但我偶然发现了这段代码

function format(input){
  var num = input.value.replace(/\./g,'');
  if(!isNaN(num)){
    num = num.toString().split('').reverse().join('').replace(/(?=\d*\.?)(\d{1})/g,'$1.');
    num = num.split('').reverse().join('').replace(/^[\.]/,'');
    input.value = num;
  }

  else{ alert('just numeric values please');
    input.value = input.value.replace(/[^\d\.]*/g,'');
  }
}

我真的不明白它是如何工作的,但基本上它将输入实时格式化为这种格式“9.9.9.9.9”,但我希望它像这样“9.9.9.9.9。”。我怎样才能添加上一期? 先谢谢

2 个答案:

答案 0 :(得分:1)

如果您只需要将句点添加到字符串的末尾,只需执行以下操作:

text = text.replace(/(.)/g, '$1.');

对于你的整个功能,如果你正在使用像“12345”那样的字符串,并且只想在每个数字后面加一段时间,那么就有更简单的方法来做到这一点:

{{1}}

会这样做。

答案 1 :(得分:0)

input.value = num+'.';

或者像这样

var num = b.split('').reverse().join('').replace(/^[\.]/,'').replace(/$/, ".");

/$/表示字符串的结尾

或者像这样

var num = b.split('').reverse().join('').replace(/^(.{1})(.+)/, '$2$1');

看一下这篇文章:

Move n characters from front of string to the end

享受