我需要更改字段动态并使用此代码设置格式我格式化我的邮政编码,其文本来自服务器端,如
123456789
这个jQuery方法改变了这个值格式 1234-56789
var ZIptext = $("#ZipLabel").text();
var reformat = ZIptext.replace(/(\d{5})/g, function (match) {
return match + "-";
});
$("#ZipLabel").text(reformat.replace(/\-$/, ""))
但知道我遇到问题我需要更改传真号码的格式
3453454354
它应该像
345-345-4354
有人可以帮助我
答案 0 :(得分:2)
使用捕获组正则表达式
var res = '3453454354'.replace(/(\d{3})(\d{3})(\d{4})/, '$1-$2-$3');
document.write(res);

答案 1 :(得分:1)
答案 2 :(得分:1)
这是一个通用的功能。
第一个参数是输入字符串,第二个参数是分隔符,第三个参数是用于分隔输入的长度数组。您也可以指定'*'
作为最后一个参数。
function separate(_input, _separator, _lengths) {
var output = [], i = 0;
for(i=0; i<_lengths.length; i++) {
if(_input.length <= _lengths[i] || _lengths[i] === '*') {
output.push(_input);
break;
}
output.push(_input.substr(0, _lengths[i]));
_input = _input.substr(_lengths[i]);
}
return output.join(_separator);
}
用法示例:
separate('3453454354', '-', [3, 3, 4]); // returns "345-345-4354"
separate('3453454354', '-', [4,'*']); // returns "3453-454354"