0
전화 번호를 xxx-xxx-xxxx 형식으로 형식화하는 맞춤형 가입 함수를 만들었고 정말 잘 작동합니다. 그러나 사용자가 11 자리가 넘는 값을 입력 할 경우 숫자를 형식화하지 않도록 새로운 제약 조건을 추가해야합니다. 이 코드가 여전히 11 자리 이상의 입력 형식을 지정하는 이유를 설명해 주시겠습니까?사용자 정의 knockout 가입 함수
ko.subscribable.fn.formatPhoneNumber = function() {
return ko.computed({
read: function() {
if (this().length > 11) {
return this();
} else {
return this()
.replace(/\D+/g, "")
.replace(/^[01]/, "")
.replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3")
.substring(0, 12);
}
},
write: function (value) {
if (this(value).length > 11) {
this(value);
this.valueHasMutated();
} else {
this(value.replace(/\D+/g, "")
.replace(/^[01]/, "")
.replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3")
.substring(0, 12));
this.valueHasMutated();
}
},
owner: this
}).extend({ notify: 'always' });
};
내 생각은 그 형식 전화 번호가있을 정도로 일반적인 될 것 같지 않습니다됩니다 '구독 가능'항목에 추가되었습니다. – Agalo