2012-04-18 3 views
0

IM создания веб-сайта и им с помощью JavaScript для проверки информации это код им возникли проблемы с address_number погрешность недействителен номер адресаJavaScript регулярные выражения адреса номер

, если есть какие-либо другие ошибки, пожалуйста, скажите

спасибо =)

function validateForm() 
{ 
    var form = document.forms['inputForm']; 
    var formats = 
     { 
      first_name: /^[a-zA-Z]+[\-'\s]?[a-zA-Z]+$/,        /*works for a-Z allows - and '*/ 
      surname: /^[a-zA-Z]+[\-'\s]?[a-zA-z]+$/,        /*works for a-Z allows - and '*/ 
      postcode: /^\d{4}$/,             /*4digit post code australia wide*/ 
      email: /^\w+([\.-]w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/,     /*allows all word characters and normal email formats*/ 
      address_number: /^\d[0-9]{\?12}$/,             /*allows any number of digits*/ 
      address_name: /^\w?\s?[a-zA-Z]+(,?\s([a-zA-Z])*)*$/,   /*allows numbers space capital letters and other word characters*/ 
      suburb: /^\w?\s?[a-zA-Z]+(,?\s([a-zA-Z])*)*$/,   /*allows numbers space capital letters and other word characters*/ 
      phone: /^\d{10}$/,              /*8 number phone number*/ 
      length: /^\d[0-9]$/, 
      height: /^\d[0-9]$/, 
     } 
     var length = form.length.value; 
     var height = form.height.value; 
     var area = length*height; 

     var elCount = form.elements.length; 
     for(var i = 0; i<elCount; i++) 
     { 
      var field = form.elements[i]; 
      if(field.type == 'text') 
      { 
       if(!formats[field.name].test(field.value)) 
       { 
        alert('invalid '+ field.name.replace('_',' ')+'.');    /*alerts the name of the area not filled right in a pop up box*/ 
        field.focus(); 
        return false; 
       } 
      } 
     } 
     alert('All fields correct, the form will now submit.') 
} 
+1

Нам нужна гораздо больше информации - как вход! –

+0

по вводу u означает, что я набираю для тестирования? если да, то первого имя мат фамилия ирландия почтовый индекс 2145 электронного [email protected] адрес номер 52 адрес имя кузнец улица пригород Сиднейская телефон 1112345678 длина и высота вычислить площадь прямоугольника предупреждение должно сказать, какое поле не заполнено правильно Если это не ваша информация, пожалуйста, дайте мне знать – minixe

+0

Зачем все это беспокоиться? Просто позвольте пользователям вставить то, что они хотят. Ваше регулярное выражение для полей имен допускает только один дефис или пробел, 'address_number' не допускает таких вещей, как 2/34. «Address_name» не разрешает номера (например, 23rd st) или запятые, если есть больше, чем просто имя улицы, то же самое для пригорода, а номера телефонов могут быть меньше 10 символов (хотя комментарий говорит 8), и поэтому на. – RobG

ответ

0

\d+ должна быть любая цифра, по крайней мере, один раз, но, как, впрочем, сколько вы хотите.

+0

И \ d [0-9] является избыточным, просто \ d будет достаточно. – Lazerblade

+0

@Lazerblade Yup. Вот почему я его оставил. – tkone

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