一个解决方案是使用(或用polyfill)padStart()。
从MDN文档:
的padStart()方法垫当前字符串与另一串(重复,如果需要的话),使得得到的字符串达到给定长度。填充从当前字符串的开头(左侧)开始应用。
下面是一个示例,给出了使用对polyfill方法进行小修改的条件。该代码将在页面加载中添加您正在寻找的前导零。但是,由于jQuery的屏蔽效果,这个代码片段在你输入时不会用值替换零值。
$(document).ready(function() {
$('input[id^="myMaskedInput"]').val(function(index, value) {
return padStart(value, 4, "0");
}).mask("?99.99");
});
function padStart(value, targetLength,padString) {
targetLength = targetLength>>0; //floor if number or convert non-number to 0;
padString = String(padString || ' ');
if (value.length > targetLength) {
return String(value);
}
else {
targetLength = targetLength-value.length;
if (targetLength > padString.length) {
padString += padString.repeat(targetLength/padString.length); //append to original to ensure we are longer than needed
}
return padString.slice(0,targetLength) + String(value);
}
}