仅在输入掩码 jquery 中从某个号码开始验证电话号码

     2023-05-08     79

关键词:

【中文标题】仅在输入掩码 jquery 中从某个号码开始验证电话号码【英文标题】:Validate phone number with starting from certain number only in inputmask jquery 【发布时间】:2016-11-15 12:30:09 【问题描述】:

我正在尝试验证电话号码,如下所示。在 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");

谁能帮我验证一下。

【问题讨论】:

【参考方案1】:

您可以将正则表达式输入到输入掩码中:

$('#mask_aus_phone').inputmask('Regex',  
    regex: "^61-[236]"
);

我使用了正则表达式 ^61-[236],但您也可以使用正向预测并断言 61- 后面的数字是 2、3 或 6:

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

更新:

你没有说清楚,但是如果你想将61-之后的总位数限制为9,那么你可以试试:

^61-[236]\d8$

演示:

Regex101

【讨论】:

嗨蒂姆,它工作正常。你能指导我在输入 2 或 3 或 6 后如何限制数字。非常感谢。 感谢您的回复。最后一个正则表达式似乎不适用于我的网站。输入 61-2 后,不允许输入任何数字。可能是什么问题。我的代码是 $('#mask_aus_phone').inputmask('Regex', regex: "^61-[236]\d8$" ); 试试这个:^61-[236][0-9]8$... 每个正则表达式引擎都有自己的风格和做事方式。无论如何,我给出的正则表达式应该适用于大多数引擎。【参考方案2】:

不用正则表达式,你可以通过最近的phone extension构建一个小字典:

Inputmask.extendAliases(
  my_phone: 
    alias: "abstractphone",
    placeholder: '#',
    showMaskOnFocus: false,
    phoneCodes: [
      mask: "61-2 #### ####",
      region_name: 'Dois',
      desc_en: "Second region"
    , 
      mask: "61-3 #### ####",
      region_name: 'Três',
      desc_en: "Third region"
    , 
      mask: "61-6 #### ####",
      region_name: 'Seis',
      desc_en: "6th region"
    ],
    onKeyValidation: function() 
      let mt = $(this).inputmask("getmetadata");
      $('#jqma span').text(
       mt['region_name']+' - '+mt['desc_en']).css(
       'color', `#$Math.floor(Math.random() *
       0x1000000).toString(16).padStart(6, 0)`
      );
      console.log(mt);
    
  
);
$('#jqma input').inputmask("my_phone");
span color:#37e;font-weight:bold;transition: color 1s
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://rawgit.com/RobinHerbots/jquery.inputmask/4.x/dist/inputmask/inputmask.js"></script>
<script src="https://rawgit.com/RobinHerbots/jquery.inputmask/4.x/dist/inputmask/inputmask.extensions.js"></script>
<script src="https://rawgit.com/RobinHerbots/jquery.inputmask/4.x/dist/inputmask/inputmask.phone.extensions.js"></script>
<script src="https://rawgit.com/RobinHerbots/jquery.inputmask/4.x/dist/inputmask/jquery.inputmask.js"></script>
<script src="https://rawgit.com/RobinHerbots/jquery.inputmask/4.x/dist/inputmask/phone-codes/phone.js"></script>

<p id="jqma"><label>Extended phone alias: <input placeholder="61-# #### ####"/></label> <span/>
</p>

这个动态验证器示例是based in this answer。解释如下:

电话分机类似于Abstract Factory,通过alias: "abstractphone" 引用; phone.js“实现”别名phone,它具有预定义的规则,例如仅数字/整数掩码(如果世界上大多数电话号码对该输入有效,这足以验证它们:$('#mask_aus_phone').inputmask('phone')) ; 通过使用别名属性abstractphone 扩展别名,可以定义多个包含特定掩码和相关元数据的项,这些元数据可以在验证时动态获取。

【讨论】:

这里面,当我们按2,3,6以外的时候,默认是2,可以限制吗?

想要使用 jquery 输入掩码插件在按钮单击 ipaddress 字段时验证用户

】想要使用jquery输入掩码插件在按钮单击ipaddress字段时验证用户【英文标题】:Wanttovalidatetheuseronabuttonclickforipaddressfieldusingjqueryinputmaskplugin【发布时间】:2015-10-0813:27:03【问题描述】:我正在使用jquery掩码插件https://igorescobar.gith... 查看详情

Jquery验证字符串长度预先替换字段字符

...:https://jqueryvalidation.org/我在我的电话号码字段上使用了输入掩码,我还想使用Jquery验证插件将它们包含在我的验证中,但是我在字段上使用的掩码以提高可读性,其中包 查看详情

Jquery输入掩码在前缀后设置起始输入点

】Jquery输入掩码在前缀后设置起始输入点【英文标题】:Jqueryinputmasksetstartinginputpointafterprefix【发布时间】:2018-12-2710:39:28【问题描述】:您好,我正在使用jqueryinputmask,但我被卡住了。我有一个电话号码模式(+420XXXXXXXXX),其中X... 查看详情

Jquery号码验证+印度

...开发一个应用程序。我有一个接受十进制值的字段。如果输入的数字为印度格式,则该字段的jQuery验证失败。示例:如果我输入,Jquery可以正常工作:500000.12或500,000.12但是当它以印度格式编写时失败 查看详情

jQuery 验证澳大利亚电话号码

...发布时间】:2015-07-1312:45:10【问题描述】:我正在尝试从输入框中获取值,验证并格式化数字,然后更新输入字段。我希望它验证所有澳大利亚电话号码(手机和固定电话)将手机号码格式化为04XXXXXXXX和座机号码(0X)XXXXXXXXvarphone... 查看详情

利用输入掩码使用 Knockout 自定义绑定禁用 Knockout 验证

】利用输入掩码使用Knockout自定义绑定禁用Knockout验证【英文标题】:UsingKnockoutcustombindingutilizinginputmaskdisablesKnockoutValidation【发布时间】:2015-09-0822:48:40【问题描述】:我想将KnockoutValidation和Knockout自定义绑定与输入掩码(http://rob... 查看详情

用户手机号码不通过 Facebook 帐户验证,仅在使用帐户 Facebook 套件时通过短信验证

】用户手机号码不通过Facebook帐户验证,仅在使用帐户Facebook套件时通过短信验证【英文标题】:UsermobilenumbernotverifyingviaFacebookaccount,onlyverifyingviasmswhenusingAccountFacebookkit【发布时间】:2016-12-2806:23:05【问题描述】:我已按照以下... 查看详情

jQuery 验证插件问题不适用于数字字段

...证插件,它正在部分工作。验证电子邮件字段没有问题(输入时显示两个错误的电子邮件),但电话号码字段未得到验证。它显示消息“请输入手机号码”但不显示“请输入有效的手机号码”。<script 查看详情

jquery 验证正则表达式方法与 focusout 上的 jquery 掩码冲突

...它在邮政编码和电话字段上使用RegularExpressionAttribute,在输入上使用jquery.maskedinput(来自J 查看详情

仅当其他 simple_form 字段等于某个输入时才验证存在?

...type。使用JQuery,当DOM加载时,apply_on字段是隐藏的,并且仅在选择discount_ 查看详情

使用远程方法对 emailId 和电话号码进行 Jquery 验证

...描述】:我正在尝试使用jQuery验证插件(远程方法)验证输入的emailId和电话号码是否存在。但我不知道我要去哪里错了。我尝试使用添加方法插件,但没有工作。谁能帮我我哪里出错了??这里是代码。 查看详情

ios中的电话号码格式掩码

...要一个正则表达式或一些函数来标准化从我的ios应用程序输入的所有电话号码。因此输入如下(212)555-55552125555555212-555-55552125555555212-5555555全部翻译成(212)555-5555以下正则表达式是否可以将电话号码匹配到3个匹 查看详情

如何将手机号码中间做掩码,四个常用文本操作技巧

...的号码,公式=repalce(A1,4,4,"****")例如我们想在A列输入11位数的手机号码,输入超出11位或不足11位就会报错,这样就不会因少输一位而登记错了点击上方数据选项卡,选择数据验证(早期版本是数据有效性),在允许下拉... 查看详情

Flutter 验证器仅在双击时触发

】Flutter验证器仅在双击时触发【英文标题】:Fluttervalidatoronlytriggerondoubletap【发布时间】:2020-11-1018:46:32【问题描述】:我将电话号码存储在Firebase文档(表格)中。我想要的是通过使用验证器检测号码是否已经存在并在文本框... 查看详情

42是有效的信用卡号码吗? jQuery 验证器认为它是

...一个有效的信用卡号码。尝试在此jQueryValidationtestingpage中输入“42”或“42176”,然后单击“确 查看详情

jQuery通过验证设置电话号码的最小值和最大值

...,当按键时最小值为7,最大值为13。我还需要验证是否只输入数字。我尝试了一些参考堆栈,但未能解决。任何人都可以帮助我实现这一目标。$("#pho 查看详情

在 jquery submitHandler 中从 input=file 传递值 [重复]

...4-0420:39:57【问题描述】:我创建了一个表单,它采用某些输入字段并允许用户上传文件。表单行由用户动态添加。我已将jquery验证插件与我的表单一起用于验证目的问题是我无法获取用户选择的文件。 查看详情

EditText 的 Android 电话号码掩码

...发应用程序。在这个应用程序中,用户需要注册,他需要输入电话号码。我想以+7(999)999-99-99这样的格式为这个文本字段制作掩码。我试过使用mPhoneNumberEditText.addTextChangedListe 查看详情