jQuery允许移动号码的特定号码

时间:2015-10-15 06:58:22

标签: jquery regex

我想允许使用这些组合(7或8或9)输入手机号码。

我只限制字母(仅允许数字),但如何限制7或8或9以外的数字。

$(document).on('keypress', '.mobnum', function (e) {
       //if the letter is not digit then display error and don't type anything
       if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
           if (e.which == 118){
             return true;
           }else{
             return false;
           }
      }
     });

3 个答案:

答案 0 :(得分:2)

使用以下功能来重写手机号码

$(document).on('keypress', '.mobnum', function (e) {
    var mobnum="987654321";
    if (mobnum === ''|| mobnum === 'null'|| mobnum === null || phonenumber(mobnum)=== false) 
    {
    }
    else
    {
    your operations
    }
});
    function phonenumber(mobnum) {
    var pattern = new RegExp(/^[789]\d{9}$/i);
    return pattern.test(mobnum);
    }; 

答案 1 :(得分:1)

您可以使用 uni_id = np.unique(data['id']) 方法返回字符串中指定索引处的字符。

第一个字符的索引是0,第二个字符是1,依此类推。

charAt()

答案 2 :(得分:0)

我使用此代码仅允许数字:

// allow only numbers
var ctrlAltShift = false;
$(document).keydown(function(e) {
    if (e.keyCode >= 16 && e.keyCode <= 18 ) ctrlAltShift = true;
}).keyup(function(e) {
    if (e.keyCode >= 16 && e.keyCode <= 18 ) ctrlAltShift = false;
});
$(document).on('keydown', '.mobnum', function(e) {
    if( 
        (
            !ctrlAltShift && (
                ( e.keyCode >= 48 && e.keyCode <= 57 ) || /* allow Digit 0 - 9 */
                ( e.keyCode >= 96 && e.keyCode <= 105 ) || /* allow Numpad 0 - 9 */
                ( $.inArray(e.keyCode, [8, 9, 27, 35, 36, 37, 39, 46]) !== -1 ) /* allow backspace, tab, esc, end, home, arrow left, arrow right, del */
            ) 
        ) ||
            ctrlAltShift && e.keyCode == 9 /* allow ctrl ( + shift ) + tab */
    ) {
        return;
    }
    else {
        e.preventDefault();
    }        
});