Bài viết này hướng dẫn cách kiểm tra dữ liệu nhập có phải là số di động ở Việt Nam hay không bằng cách kiểm tra đầu số và số lượng chữ số được nhập.

Kiểm tra số điện thoại Việt Nam bằng jQuery

Lưu ý: phương thức này chỉ kiểm tra tính đúng sai của dữ liệu nhập, không kiểm tra được số điện thoại là có thực hay không.

Phương thức

Chúng ta sẽ kiểm tra đầu số 08 và 09 là 10 chữ số và 01 là 11 chữ số. Thêm function này vào tập tin .js:

function checkPhoneNumber() {
    var flag = false;
    var phone = $('#input').val().trim(); // ID của trường Số điện thoại
    phone = phone.replace('(+84)', '0');
    phone = phone.replace('+84', '0');
    phone = phone.replace('0084', '0');
    phone = phone.replace(/ /g, '');
    if (phone != '') {
        var firstNumber = phone.substring(0, 2);
        if ((firstNumber == '09' || firstNumber == '08') && phone.length == 10) {
            if (phone.match(/^\d{10}/)) {
                flag = true;
            }
        } else if (firstNumber == '01' && phone.length == 11) {
            if (phone.match(/^\d{11}/)) {
                flag = true;
            }
        }
    }
    return flag;
}

Sử dụng

Bạn có thể kiểm tra ở sự kiện Submit:

$('#form').submit(function(e) { // ID của Form
    if (!checkPhoneNumber()) {
        $('#input').parents('div.form-group').addClass('has-error'); // ID của trường Số điện thoại
        $('#input').focus(); // ID của trường Số điện thoại
        e.preventDefault();
    }
});

$('#input').keypress(function() { // ID của trường Số điện thoại
    $(this).parents('div.form-group').removeClass('has-error');
});

Bài viết có sử dụng Validation states của Bootstrap để thông báo lỗi. Chúc các bạn thành công!