Проверка номера телефона Javascript - PullRequest
11 голосов
/ 05 марта 2010

Мне нужно подтвердить номер телефона в javascript. Требования:

они должны быть 10 цифрами, без запятой, без тире, только цифры, а не 1+ впереди

это то, что я написал до сих пор

function validatePhone(field,alerttxt) {
    with (field) {
        if(value.length > 10) {
            alert(alerttext);
            return false;
        }
        for(i = 0; i < value.length; i++) {
            if(parseInt(value[i]) == NaN) {
                alert(alerttxt);
                return false;
            }
        }
        return true;
    }
}
function validateForm(thisform) {
        if (validatePhone(phone,"Invalid phone number")==false) {
            phone.focus();
            return false;
        }

    }
}
  <form action="post.php" method="post" id="contactform" onsubmit="return validateForm(this)">
    <ol>
        <label for="phone">Your phone <span class="red"></span></label>
        <input id="phone" name="phone" class="text" />
      </li>
    </ol>
  </form>

но, очевидно, это не работает. Как мне написать функцию validatePhone(), чтобы она работала?

Ответы [ 6 ]

29 голосов
/ 05 марта 2010
phone = phone.replace(/[^0-9]/g, '');
if(phone.length != 10) { 
   alert("not 10 digits");
} else {
  alert("yep, its 10 digits");
} 

Это будет проверять и / или исправлять в соответствии с вашими требованиями, удаляя все не цифры.

11 голосов
/ 30 июля 2013

Google libphonenumber очень полезен для проверки и форматирования телефонных номеров во всем мире. Это проще, менее загадочно и надежнее, чем использование RegEx, и поставляется в вариантах JavaScript, Ruby, Python, C #, PHP и Objective-C.

7 голосов
/ 05 марта 2010

Вы можете использовать регулярные выражения:

function validatePhone(field, alerttext) {
    if (field.match(/^\d{10}/)) {
         return true;
    } 
    alert(alerttext);
    return false;
}
1 голос
/ 21 июля 2013

код для исключения только цифр скобок и тире

function DoValidatePhone() {
    var frm = document.forms['editMemberForm'];                
    var stripped = frm.contact.value;
    var isGoodMatch = stripped.match(/^[0-9\s(-)]*$/);
    if (!isGoodMatch) {
        alert("The Emergency Contact number contains invalid characters." + stripped);
        return false;
    }
}
0 голосов
/ 29 апреля 2016
function validate(phoneString){

    reg = /^([+|\d])+([\s|\d])+([\d])$/;

    return reg.test(phoneString);

}
0 голосов
/ 05 марта 2010

Фиксированная функция:

function validateForm(thisform) {
        if (validatePhone(thisform.phone,"Invalid phone number")==false) {
            thisform.phone.focus();
            return false;
        }
        return true;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...