0
지금 양식 검증 작업을하고 있습니다. 오류가 발생하면 제출을 거절합니다. 문제가 어디 있는지 모르겠습니다. 나는 그것이 코드의 정규식 부분 주위에 있다고 생각하지만 확실하지는 않다. 이 유효성 검사 스크립트의 오류는 어디에 있습니까?js 유효성 검사의 오류 위치는 어디입니까
function test_form()
{
var userName = document.regForm.userName.value;
var firstName = document.regForm.firstName.value;
var lastName = document.regForm.lastName.value;
var email = document.regForm.email.value;
var email2 = document.regForm.email2.value;
var password = document.regForm.password.value;
var password2 = document.regForm.password2.value;
var birthDay = document.regForm.birthDay.value;
var birthMonth = document.regForm.birthMonth.value;
var birthYear = document.regForm.birthYear.value;
var tou = document.regForm.tou.checked;
var regSpec = /!|@|#|\$|%|-|_|&|\*|\(|\)|\+|\[|\]|\{|\}|:|;|'|"|\||\\|,|<|>|\.|\?|\/|\^/;
var regUser = /!|@|#|\$|%|&|\*|\(|\)|\+|\[|\]|\{|\}|:|;|'|"|\||\\|,|<|>|\.|\?|\/|\^/;
var error = false;
// Test all fields for empty and dob format and tou acceptance
if(userName === "" || firstName === "" || lastName === "" || email === "" || email2 === "" || password === "" || password2 === "" || tou == false || birthDay == "--Day--" || birthYear == "--Year--" || birthMonth == "--Month--")
{
error = true;
}
// Test all fields for applicable special characters
if(firstName.match(regSpec) || lastName.match(regSpec))
{
error = true;
}
if(userName.match(regUser) || password.match(regUser) || password2.match(regUser))
{
error = true;
}
// Test emails for format and match
if(email.indexOf("@") == -1 || email.indexOf(".") == -1 || email2.indexOf("@") == -1 || email2.indexOf(".") == -1)
{
error = true;
}
// Test passwords for match
if(password != password2)
{
error = true;
}
// test email for match
if(email != email2)
{
error = true;
}
// Send
return error;
}
이 기능을 어떻게 사용하고 있습니까? 양식 제출을 중단하려면'false를 반환해야합니다. ' 이 함수가 onsubmit 핸들러로 사용되면 에러가 발생하면 true가 반환되어 양식이 제출됩니다. – OJay
시간과 노력을 절약하고 잘 테스트되고 안정적인 jquery 유효성 검사 플러그인을 사용하십시오 – Yang
또한 유효성 검사를 통과하려면 사용자가 브라우저에서 JavaScript를 사용하지 않도록 설정하는 것이 좋습니다. 서버 쪽에서 항상 데이터의 유효성을 검사해야합니다! – Yang