如何使用JavaScript格式化手机字符

时间:2015-08-07 10:38:33

标签: javascript html arrays jsp

我有一个字符串例如" 123456789"。我希望这个字符串替换如下" XXX-XX-6789"。

我已经实现了" 123-45-6789"使用正常的javascript使用下面的代码

function mask(str, textbox, loc, delim) {

    var value = document.getElementById("num").value;
    var locs = loc.split(',');
    for (var i = 0; i <= locs.length; i++) {
        for (var k = 0; k <= str.length; k++) {
            if (k == locs[i]) {
                if (str.substring(k, k + 1) != delim) {
                    str = str.substring(0, k) + delim + str.substring(k, str.length)
                }

            }

        }

    }
    textbox.value = str
}

但我无法获得所需的格式&#34; XXX-XX-6789&#34;。所以任何人都可以建议解决方案,并帮助我.. :(

我没有使用jQuery,我想在普通的JS中使用。

2 个答案:

答案 0 :(得分:1)

尝试使用JavaScript内置的此正则表达式解决方案。它比你兄弟的算法快得多。

var stringSample = "234443444";

stringSample.replace(/(\d{3})(\d{2})(\d{4})/, '$1-$2-$3')

stringSample.replace(/(\d{3})(\d{2})(\d{4})/, 'XXX-XX-$3')

答案 1 :(得分:1)

正如你已经说过你实现这个123-45-6789现在你想要XXX-XX-6789然后在你从js函数获得的字符串之后使用下面的指令

在str中存储返回js字符串,并使用下面的字符串来获取字符串。

var str = '123-45-6789';

var temp = 'XXX-XX-'+str.split('-')[2];