Telefon Validasyonu - Maskeleme ve Gsm Algılama

ifeelnasty
09-06-2018, 09:24   |  #1  
ifeelnasty avatarı
OP Taze Üye
Teşekkür Sayısı: 0
12 mesaj
Kayıt Tarihi:Kayıt: Kas 2017

Selamlar,

Son zamanlarda müşterilerden sabit hat ve gsm hatların ayrı algılanması için istek geliyordu. Bende 5 dakikamı ayırıp ufak bir şeyler yaptım, kaynak kodlarını hem github üzerinde hemde aşağıda paylaşıyorum. İhtiyacı olan varsa işini görecektir. şurası şöyle olsaydı daha iyi olurdu derseniz vakit bulduğumda onunla da ilgilenirim hayır demem açıkçası :))

https://gist.github.com/rakbu/12ab1fba51c422edd1968da8568475e6

<input type="tel" id="phone" maxlength="14" />
<button type="button" id="gonder">Gönder</button>

var ListGsm = ["530", "531", "532", "533", "534", "535", "536", "537", "538", "539", "561", "540", "541", "542", "543", "544", "545", "546", "547", "548", "549", "505", "506", "507", "551", "552", "553", "554", "555", "556", "557", "558"];
        $("#gonder").click(function () {
            var p = $("#phone").val();
            var d = p.substr("0", "5").trim();
            ListGsm.forEach(function (n) {
                if (d == "(" + n + ")") {
                    console.log("Alan kodu var")
                } else {
                    console.log("Alan kodu yok")
                }
            });
        });
        $('#phone').on("keypress keyup keydown", function (e) {
            var key = e.charCode || e.keyCode || 0;
            $phone = $(this);
            if ($phone.val() == "(0" || $phone.val() == "(00") {
                $phone.val("")
            }
            if (key !== 8 && key !== 9) {
                if ($phone.val().length === 0) {
                    $phone.val($phone.val() + '(');
                }
                if ($phone.val().length === 4) {
                    $phone.val($phone.val() + ') ');
                }
                if ($phone.val().length === 9) {
                    $phone.val($phone.val() + '-');
                }
            }
            return (key == 8 ||
                key == 9 ||
                key == 46 ||
                (key >= 48 && key <= 57) ||
                (key >= 96 && key <= 105));
        }).bind('focus click', function () {
            $phone = $(this);
            if ($phone.val().length === 0) {
                $phone.val('');
            }
            else {
                var val = $phone.val();
                $phone.val('').val(val);
            }
        }).blur(function () {
            $phone = $(this);
            if ($phone.val() === '+') {
                $phone.val('');
            }
        });