分割输入掩码数集的长度

Splitting length of input mask number sets

本文关键字:输入 掩码 分割      更新时间:2023-09-26

我如何在这里用不同的方式分割数字,比如XXX-XXX-XXXX?

String.prototype.toCardFormat = function () {
    return this.replace(/[^0-9]/g, "").substr(0, 16).split("").reduce(cardFormat, "");
    function cardFormat(str, l, i) {
        return str + ((!i || (i % 4)) ? "" : "-") + l;
    }
};

jsfiddle

这里是更新的提琴的链接。在函数中添加OR条件

 function cardFormat(str, l, i) {
    return str + ((!i || (i % 3) || i > 8) ? "" : "-") + l;
 }

您将更改附加-的条件。上面是每4个字符。这里,在第3和第6之后:

String.prototype.toCardFormat = function() {
  return this.
    replace(/[^0-9]/g, "").
    substr(0, 16).
    split("").
    reduce(cardFormat, "");
  function cardFormat(str, l, i) {
    return str + 
           (((i == 3) || (i == 6)) ? "-" : "") + 
           l;
  }
};
var st = "1234567890";
console.log(st.toCardFormat());