我有一个字符串例如" 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中使用。
答案 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];