电话号码验证无法在Android手机上使用

时间:2018-02-18 11:04:06

标签: javascript forms validation

我有一个表单页面,ppl可以在其中输入详细信息然后提交。 有一个电话领域,我使用下面的代码,它的工作正常所有的电脑,手机,ipads除了Android手机。

即使用户只键入数字,它也会显示警告错误。有人可以帮忙吗?

$("#phone").keydown(function (e) {
    if($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
        (e.keyCode === 65 && (e.ctrlKey === true || e.metaKey === true)) ||
        (e.keyCode >= 35 && e.keyCode <= 40)) {
          return;
    }
    if((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || 
        e.keyCode > 105)) {
        e.preventDefault();
        $.alert({ title: '&nbsp;', content: 'PHONE NUMBER MUST BE NUMBER FORMAT 
        ONLY.', type: 'red', typeAnimated: true, }); return false;
    }
 });

1 个答案:

答案 0 :(得分:0)

考虑使用正则表达式验证电话号码。

$("#phone").on('keyup', function (e) {
    var val = this.value;

    // check value has non numeric characters
    if (!/^[0-9]*$/.test(val)) {
        $.alert({ ... });

        // remove non numeric characters from value
        this.value = val.replace(/[^0-9]+/g, ''); 
    }
});