Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулярное выражение для проверки мобильного (https://javascript.ru/forum/misc/68019-regulyarnoe-vyrazhenie-dlya-proverki-mobilnogo.html)

DVMade 21.03.2017 17:58

Сейчас вот так у меня:
var phone = $("#phone").val();
			if (/^79\d{9}$/.test(phone)) {

Пропускает даже 1234567890 и дальше все цифры... какой угодно длинны значение =)

Dilettante_Pro 21.03.2017 18:11

<input type='text' id = 'phone' onchange='testPhone();'>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
function testPhone() {
var phone = $("#phone").val();
if (/^79\d{9}$/.test(phone)) {
	alert('Ok');
} else {
	alert('Error');
};
}
</script>

рони 21.03.2017 18:17

DVMade,
вы что-то не договариваите ...

<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
     .red{
        background-color: #FF3333;
     }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
    $("#phone").on("input",function() {
    this.className = /^79\d{9}$/.test(this.value) ? "" : "red";
})
});
  </script>
</head>

<body>
<input id="phone" name="">

</body>
</html>

Цитата:

Сообщение от DVMade
var phone = $("#phone").val();

так делать не рекомендуется, лучше назвать переменную иначе, чем id.

ksa 22.03.2017 08:44

Цитата:

Сообщение от DVMade
1234567890

Бивас, тест! (с)

var str='1234567890';
if (/^79\d{9}$/.test(str)) {
	alert('Ok');
} else {
	alert('Error');
};

Проверка не проходит. :stop:

DVMade 22.03.2017 09:47

Все заработало, проблема оказалась в том, что имя переменной у меня соответствовало имени I html-элемента, значение которого и принимала переменная phone. Изменил ей имя и все пошло) Всем спасибо за ответы! =)

GayCoder 24.03.2017 02:46

vanished


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