하나의 해결책은 padStart()을 사용하는 것입니다 (또는 polyfill). MDN 문서에서
: 생성 된 문자열이 소정의 길이에 도달하도록 다른 문자열
padStart() 메소드 패드 현재 문자열 (필요한 경우, 반복). 패딩은 현재 문자열의 시작 부분 (왼쪽)부터 적용됩니다.
다음은 polyfill 방법을 약간 수정 한 기준입니다. 코드는 페이지로드시 찾고있는 앞에 오는 0을 추가합니다. 그러나 jQuery 마스킹으로 인해이 코드 스 니펫은 입력 할 때 값으로 0을 대체하지 않습니다.
$(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);
}
}