정규표현식으로 input 태그의 value 값의 공백을 제거하고, 해당 값이 이메일/전화번호 형식인 지 체크하는 javasciprt 로직
<form id="userForm">
<input type="text" id="email" placeholder="이메일">
<input type="text" id="phone" placeholder="전화번호">
<button type="submit">검사</button>
</form>
<script>
const emailInput = document.getElementById("email");
const phoneInput = document.getElementById("phone");
document.getElementById("userForm").addEventListener("submit", function (e) {
e.preventDefault(); // 폼 전송 방지
// 공백 제거
trimInput(emailInput);
trimInput(phoneInput);
// 이메일 검사
if (!isValidEmail(emailInput)) {
alert("이메일 형식이 올바르지 않습니다.");
return;
}
// 전화번호 검사
if (!isValidPhoneNumber(phoneInput)) {
alert("전화번호 형식이 올바르지 않습니다.");
return;
}
alert("유효성 검사 통과!");
});
</script>
// 1. 이메일 유효성 검사
function isValidEmail(inputElement) {
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return emailRegex.test(inputElement.value.trim());
}
// 2. 전화번호 유효성 검사 (국내 010-1234-5678 형식)
function isValidPhoneNumber(inputElement) {
const phoneRegex = /^01[016789]-?\d{3,4}-?\d{4}$/;
return phoneRegex.test(inputElement.value.trim());
}
// 3. 입력값 공백 제거 (앞뒤 공백 제거만)
function trimInput(inputElement) {
inputElement.value = inputElement.value.trim();
}
'Javascript' 카테고리의 다른 글
JavaScript로 API 데이터 받아오는 방법 (1) | 2025.03.23 |
---|---|
[Javascript] 콜백 함수(Callback Function) 사용법의 정석 (1) | 2025.03.22 |
골라서 쓰는 javascript에서의 리다이렉트(redirect) 방법 (1) | 2025.03.21 |
클로저(Closure)란? (1) | 2025.03.19 |
클래스 기반 vs 함수형 기반 객체 지향 프로그래밍 (1) | 2025.03.18 |