2015-04-19 2 views
-5

У меня есть страница регистрации HTML с рядом функций проверки JavaScript. Я хочу добавить условие, что если все функции корректно проверяют => делают что-то еще. Я хочу сделать так, чтобы я мог запускать все функции проверки внутри одной функции.javascript условия для функций для регистрационной формы

function UserName() 
{ 
    var User = register.Username.value; 
    var i; 

    if (User.length == 0) 
     alert("Please Enter First name"); 

    else if (User.length < 6) 
     alert("your name most have a minimum of 6 digits/charachters");  
} 

function Passw() { 
    var Pass = register.password.value; 
    var SCharCount = 0; 
    var LCharCount = 0; 
    var NCount = 0; 
    var special = 0; 
    var i; 

    if (Pass == "") 
     alert("Please enter a Password"); 


    else if (Pass.length > 5 && Pass.length < 15) { 
     for (i = 0; i < Pass.length; i++) { 
      if ((Pass.charAt(i) >= 'a') && (Pass.charAt(i) <= 'z')) 
       SCharCount++; 

      else if ((Pass.charAt(i) >= 'A') && (Pass.charAt(i) <= 'Z')) 
       LCharCount++; 

      else if ((Pass.charAt(i) >= '0') && (Pass.charAt(i) <= '9')) 
       NCount++; 

      else if ((Pass.charAt(i) >= '!') && (Pass.charAt(i) <= '?')) 
       special++; 
     } 
    } 

    if ((SCharCount==0) || (LCharCount==0) || (NCount == 0) || (special==0)) { 
     alert("Your password weak please notes that you most have at least 5-15 digits providen by one of each keys :1-9 , !-? , a-z , A-Z"); 
    } 

    else 
     return true; 
} 

function ConfPassw() { 
    var Pass = register.password.value; 
    var CPass = register.Confirm_password.value; 

    if (Pass != CPass) { 
     alert("the password must match"); 
    } 

} 

function FirstName() { 
    var Fname = register.Input_Your_Name.value; 

    if (Fname.length == 0) { 
     alert("Enter First Name"); 
    } 
} 

function Lastname() { 
    var Lname = register.Input_Your_Name.value; 

    if (Lname.length == 0) { 
     alert("Enter Last Name"); 
    } 
} 

function CountryColumn() { 
    var Country = register.Country.value; 
    var Count = 0; 
    var i; 

    if (Country.length == 0) 
     alert("Country not found"); 
    else 
     for (i = 0; i < Country.length; i++) {   
      if ((Country.charAt(i) >= '0') && (Country.charAt(i) <= '9')) 
       Count++; 
     } 

    if (Count > 0) 
     alert("Country cannot contain a Number"); 
    else  
     return true; 
}               

function address() {    
    var Addr = register.Address.value; 
    if (Addr.length == 0) 
     alert("Enter Address"); 
} 

function poscode() { 
    var code=register.Input_postalcode.value; 
    if (code.length == 0) 
     alert("Enter a postal code"); 
} 

function PhoneN() { 
    var phone = register.Phone_Number.value; 
    var phone_num = isNaN(phone); 

    if (phone.length == 0) 
     alert("you must include your phone in the registration"); 
    if (phone_num) 
     alert("This Should contain Only Digits"); 
    else if (phone.charAt(0) == 0 && phone.charAt(1) == 2 && phone.length == 9) 
     return true; 
    else if (phone.charAt(0) == 0 && phone.charAt(1) == 5 && phone.length == 10) 
     return true; 
    else 
     alert("Wrong Telephone/Mobile Number please notes that we only support home telephone with 02 in the beggining and only israel mobile numbers that start with 05X") 
} 

function Mail() { 
    var mail = register.Input_email.value; 
    var lastApos = mail.lastIndexOf('@'); 
    var lastDotPos = mail.lastIndexOf('.'); 

    if (mail.length == 0) 
     alert("Please enter your Email"); 
    else if (!(lastApos < lastDotPos && lastApos > 0 && mail.indexOf('@@') == -1 && (mail.length - lastDotPos) > 2)) 
     alert("The Email was write in wrong way"); 
    else if (lastDotPos - mail.indexOf('@') > 2) 
     return true; 
    else 
     alert("The Email was write in wrong way"); 
} 

function date() { 
    var day = register.Date_of_birth_Day.value; 
    var month = register.Date_of_birth_Month.value; 
    var year = register.Date_of_birth_Year.value; 

    if (day == '-') { 
     alert("select the day your born"); 
    } 

    if (month == '-') { 
     alert("select the month your born"); 
    } 

    if (year == '-') { 
     alert("select the year your born"); 
    } 
} 

function gender() { 
    if (register.Gender[0].checked == false && register.Gender[1].checked == false) { 
     alert("Choose your gender wierdo"); 
    } 
} 

function DataConfirnation() { 
    UserName(); 
    Passw(); 
    ConfPassw(); 
    FirstName(); 
    Lastname(); 
    address(); 
    poscode(); 
    PhoneN(); 
    Mail(); 
    date(); 
    gender(); 
    CountryColumn(); 
} 
+4

вы можете пересмотреть свой вопрос? Я этого не понимаю. Что вы пытаетесь спросить? – macmania314

+0

Я не уверен, что вы спрашиваете, хотите ли вы запустить все функции сразу? Кроме того, исправьте форматирование кода. –

+0

посмотреть, что я получил страницу регистрации в html, и на этой странице у меня есть функция javascript, которая действительна для данных, которые пользователь вводит внутри, теперь я хочу сформулировать термин, что если все функции будут выполнены правильно, он предоставит мне другую страницу html с заявив, что регистрация завершена или что-то в этом роде. и у меня нет идеи, как сделать термин –

ответ

0

Что вы хотите сделать, это каждая функция возвращает логическое значение, основываясь на это значения для этого элемента являются недействительными или действительными. Для недопустимого ввода return false и для действительного ввода return true. Вот простой пример с двумя функциями:

function validateOne() { 
    if(/* Input for validateOne is valid */) 
     return true 
    else 
     return false 
} 

function validateTwo() { 
    if(/* Input for validateTwo is valid */) 
     return true 
    else 
     return false 
} 

if(validateOne() && validateTwo()) { 
    // Everything is valid, move to registration complete webpage 
} else { 
    // Not everything is valid 
} 

Вот реальный пример использования понятий выше для проверки сказать, имя пользователя и пароль. Где (для простоты) имя пользователя не может быть пустым и пароль не может быть пустым и должен иметь более 5 символов. Ваша программа в целом будет немного более сложной.

function validateUsername() { 
    // When there is at least a single character entered 
    var username = register.Username.value; 
    if(username.length > 0) 
     return true; // than the username is valid 
    else 
     return false; // otherwise not valid 
} 

function validatePassword() { 
    // When the length of the password is over 5 
    var password = register.password.value; 
    if(password.length > 5) 
     return true; // than the password is valid 
    else 
     return false; // otherwise not valid 
} 

if(validateUsername() && validatePassword()) { 
    // Everything is valid, move to registration complete webpage 
} else { 
    // Not everything is valid 
} 

Для начала здесь, как ваша первая Username функция будет выглядеть:

function UserName() 
{ 
    var User = register.Username.value; 
    //var i; <- You don't need this 

    if (User.length == 0) { // cannot be empty -> false 
     alert("Please Enter First name"); 
     return false; 
    } 
    else if (User.length < 6) { // Needs more than 6 characters -> false 
     alert("your name most have a minimum of 6 digits/charachters"); 
     return false; 
    } 
    else { // Has more than 6 characters -> true 
     return true; 
    }  
} 
+0

exacly но как я проверяю, является ли функция действительной или недействительной (сделано или еще не сделано) –

+0

Например, в 'UserName()' первые два 'if' и' else if' возвращают false и добавляют 'else' который возвращает 'true' (при условии, что он больше 6). –

+0

человек я имею в виду, что мне нужно поставить здесь, если (/ * здесь * /) какой термин –

Смежные вопросы