Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Валидация поля "Адрес доставки" (https://javascript.ru/forum/dom-window/63067-validaciya-polya-adres-dostavki.html)

likbez 15.05.2016 18:21

Валидация поля "Адрес доставки"
 
Уважаемые форумчане, подскажите регулярное выражение или может еще какой метод имеется. При вводе адреса пользователи игнорируют номер дома, улицу пишут, а цифры не хотят (а дом нужен для проверки по региону доставки). Как их заставить писать цифры? Сам потыкался, нифига не получается создать рег. выражение.

Decode 16.05.2016 00:46

likbez, мб так?
<form action="#">
  <input type="text" />
  <input type="submit" value="Send" />
  <span style="color:red;"></span>
</form>


<script>
  var formElem = document.body.children[0];
  var inpElem = formElem.elements[0];
  var reg = /^[а-я\s.]+?\d+/i;

  formElem.onsubmit = function() {
    if ( !reg.test(inpElem.value) ) {
      this.querySelector('span').innerHTML = 'Неверный формат';
      return false;
    }
  };
</script>

likbez 16.05.2016 03:20

Decode, огромное спасибо! рег. выражение работает. Только код что-то отказался у меня работать ) Подставил в свой, все работает отлично.

<script>
  function validate(form_id,text) { 
   var reg = /^[а-я\s.]+?\d+/i;
   var address = document.forms[form_id].elements[text].value;
   if(reg.test(address) == false) {
      alert('Введите улицу и дом');
      return false;
   }
}
 </script>
<form id="form_id" method="post" action="" onsubmit="javascript:return validate('form_id','text');">
   <input type="text" id="text" name="text" />
   <input type="submit" value="Submit" />
</form>


Часовой пояс GMT +3, время: 15:13.