Hoe kan ik met de filter van jquery uitfilter dat alleen nummers zijn toegestaan?

Dit kom ik op internet tegen maar wat betekend het?



/^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
Waarom een jquery filter en geen HTML input veld van het type integer ?
Alle woordkarakters of een punt gevolgd door een @, (gevolgd door een [ gevolgd door 1 tot 3x een getal gevolgd door een . gevolgd door 1 tot 3 keer een getal gevolgd door een punt) of (woordkarakters of een punt, meerdere malen) gevolgd door 2 tot 4 letters of 1 tot 3 keer een getal gevolgd door optioneel een ]

Het lijkt een sterk vereenvoudigde vorm van een e-mailadres welke lang niet alles ondervangt en een hoop ongeldige zooi goedkeurt.
Het is niet de eind controle van het formulier.

Heb dit geprobeerd maar hij geen geen alert weer bij de filter functie, alleen bij een leeg veld werkt hij.
Wat gaat er niet goed?

<input type="number" id="phone_field">
<div class="druk">
druk
</div>



$('.druk').click(function() {
if($("#phone_field").val().length == 0){
alert ("leeg");
}else if($(this).val().length > 0){
var phone = $('#phone_field').val();

        if (validateEmail(phone)) {
  alert ("telefoonnummer geldig");
        }
        else {
            
  alert ("alleen nummers toegestaan");
            e.preventDefault();
        }
        }
});


function validateEmail(phone) {
    var filter = /[0-9-()+]{3,20}/;
    if (filter.test(phone)) {
        return true;
    }
    else {
        return false;
    }
    }

Pipo Clown op 20/06/2016 23:45:19

Waarom een jquery filter en geen HTML input veld van het type integer ?


Sommige browser ondersteunen dit niet zoals IE. Edge wel.
De combinatie van type="number" met een pattern wordt door vrijwel alle browsers ondersteund:

<input name="foo" type="number" pattern="[0-9]">
Ward van der Put op 22/06/2016 08:03:10

De combinatie van type="number" met een pattern wordt door vrijwel alle browsers ondersteund:

<input name="foo" type="number" pattern="[0-9]">


IE niet wat http://caniuse.com/#search=number ook mag beweren :) ook niet met versie 11
Jan, ondersteunt IE11 het pattern wel?
Volgens mijn simpel testje niet :)
Ik kan gewoon alles ingeven wat ik wil
Dankjewel Jan.
Rare browser, dat IE.

Reageren