필드를 숫자로만 확인하는 RegEx 유효성 검사가 있습니다. 그러나 문자열의 길이가 10 자리 이상인 경우에만 유효성 검사가 true를 반환합니다. 그러나 10보다 작 으면 5라고 가정하면 false를 반환합니다.
내 코드는 다음과 같습니다.
function isNumeric(elem, helperMsg) {
var numericExpression = /^[0-9]+$/;
if (elem.value.match(numericExpression)) {
return true;
} else {
alert(helperMsg);
elem.focus();
return false;
}
}
function formValidator() {
var phone = document.getElementById('home');
if (isNumeric(phone, "Please enter a valid Australian House Phone Number")) {
console.log("Passed phone number");
if (isNumericPostal(postal, "Please enter a valid Postal Code of Australia it should be 4 digits only")) {
return true;
}
}
}
}
또한 isNumeric 함수에서 유효성 검사 논리와 UI 논리를 혼합하고 있습니다. 나쁜 습관입니다. /^\d{10,13}$/.test(yourValue)
반환합니다 true/false
-이 경우 더해야한다.
function isNumeric(val) {
return /^\d{10,13}$/.test(val);
}
function formValidator() {
var phone = document.getElementById('home');
if (!isNumeric(phone.value)) {
alert("Please enter a valid Australian House Phone Number");
phone.focus();
return false;
}
// do your other logic in similar manner
return true;
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다