仅在inputmask jquery中验证从特定号码开始的电话号码

仅在inputmask jquery中验证从特定号码开始的电话号码,jquery,regex,jquery-inputmask,Jquery,Regex,Jquery Inputmask,我正在尝试验证电话号码,如下所示。61之后,只能从2、3或6开始。举例如下。 61-245623463:有效 61-345623456:有效 61-445623423:无效 61-645623485:有效 我目前的代码如下。但它不起作用 $("#mask_aus_phone").inputmask({mask: "61-2 9999 9999"}); $("#mask_aus_phone").inputmask({mask: "61-3 9999 9999"}); $("#mask_aus_ph

我正在尝试验证电话号码,如下所示。61之后,只能从2、3或6开始。举例如下。 61-245623463:有效 61-345623456:有效 61-445623423:无效 61-645623485:有效

我目前的代码如下。但它不起作用

$("#mask_aus_phone").inputmask({mask: "61-2 9999 9999"});
$("#mask_aus_phone").inputmask({mask: "61-3 9999 9999"});
$("#mask_aus_phone").inputmask({mask: "61-6 9999 9999"});
我也尝试了以下方法。但它也不起作用

$("#mask_aus_phone").inputmask({mask: "61-{2,3,6} 9999 9999"});

有人能帮我验证一下吗。

你可以在输入掩码中输入一个正则表达式:

$('#mask_aus_phone').inputmask('Regex', { 
    regex: "^61-[236]"
});
我使用了正则表达式
^61-[236]
,但您也可以使用正向前瞻并断言
61-
后面的数字是2、3或6:

^61-(?:(?=[236]).)+
更新:

您没有明确说明,但如果要将
61-
之后的总位数限制为9,则可以尝试:

^61-[236]\d{8}$
演示:


不使用正则表达式,您可以通过最近的:

Inputmask.extendalies({
我的手机:{
别名:“abstractphone”,
占位符:“#”,
showMaskOnFocus:错误,
电话号码:[{
面具:“61-2#########”,
地区名称:“Dois”,
描述:“第二区域”
}, {
面具:“61-3#########”,
区域名称:“Três”,
描述:“第三区域”
}, {
面具:“61-6#########”,
地区名称:“Seis”,
描述:“第六地区”
}],
onKeyValidation:function(){
让mt=$(this.inputmask(“getmetadata”);
$('#jqma span')。文本(
mt['region\u name']+'-'+mt['desc\u en']).css(
'color',`#${Math.floor(Math.random()*
0x1000000).toString(16).padStart(6,0)}`
);
控制台日志(mt);
}
}
});
$('jqma input').inputmask(“我的手机”)
span{color:#37e;字体大小:粗体;过渡:color 1s}

扩展电话别名:

你好,蒂姆,它工作正常。输入2、3或6后,您能指导我如何限制数字吗。非常感谢。谢谢你的回复。最后一个正则表达式似乎在我的网站上不起作用。输入61-2后,不允许输入任何数字。有什么问题吗。我的代码是$('#mask_aus_phone')。inputmask('Regex',{Regex:“^61-[236]\d{8}$”);试试这个:
^61-[236][0-9]{8}$
。。。每个正则表达式引擎都有自己的风格和做事方式。无论如何,我给出的正则表达式应该适用于大多数引擎。在这个例子中,当我们按除2,3,6之外的其他键时,默认情况下需要2。我们能限制这一点吗?