当用户点击第 11 个号码时,如何验证输入文本(在 html 中)是不是是有效的电话号码?

Posted

技术标签:

【中文标题】当用户点击第 11 个号码时,如何验证输入文本(在 html 中)是不是是有效的电话号码?【英文标题】:How to validate if the input text (in html) is a valid Phone Number when user hits the 11th number?当用户点击第 11 个号码时,如何验证输入文本(在 html 中)是否是有效的电话号码? 【发布时间】:2021-12-11 17:15:56 【问题描述】:

我有意见。

<input id="phoneNumber"/>

如何验证来自用户的插入值是否是有效的电话号码或不使用 jQuery?

谢谢。

【问题讨论】:

使用一些代码并通过提供一些代码来了解您尝试了多远并遇到了问题 您可以直接在输入标签中执行此操作,如下所示。 ``` 字符数:5 ``` 然后使用一些使用 JS 进行 UI 验证。按照这个逻辑,如果所有的输入都有它们的要求,那么这个按钮是可点击的,否则它不是。祝你好运 @TomasMota 当你有提交按钮时它很有用,但在我的情况下没有 那你就不需要那个逻辑了。只需将其添加到您的输入标签中,它就应该按照您的意愿行事,对吧?或者这不是您想要的? @TomasMota 不是我要找的东西,我想要在用户插入数字时验证的东西 【参考方案1】:

您可以使用oninput 来检查输入是否输入了某些值。

当输入第 10 个值时,您可以使用 alert 但这还不够,因为在 alert 之后,用户仍然可以输入更多值。所以使用maxlength="10" 只允许10 个数字。

此外,如果您不想允许 text 但只能使用数字,则可以使用 .replace(/[^\d]/, '') 替换任何非数字。并表明它不是一个数字。

function validPhone(phoneNum)
//  check for valid phone numbers in the format 999-999-9999

  if (phoneNum.value.match(/[^\d]/)) 
    phoneNum.value = phoneNum.value.replace(/[^\d]/, '')
    document.querySelector("#demo1").innerhtml = "Sorry numbers only";
   else 
    document.querySelector("#demo1").innerHTML = "";
  
  var strPhone = phoneNum.value;
  var rePhone = /\d3-\d3-\d4/;

  if (strPhone.length >= 10) 
    phoneNum.select();
    document.querySelector("#demo1").innerHTML ="No more numbers plz, only 10 digits allowed in Phone number.";
  
  document.querySelector("#demo").innerHTML = strPhone.length;
;
#demo1 
  color: red;
<input class="form-control" oninput="validPhone(this)" type="text" name="username" placeholder="Enter Phone number" maxlength="10" id="phoneNumberForForgotPassword" data-val-required="نام کاربری را وارد نمائید.">

<div id="demo1"></div>
<div id="demo"></div>

【讨论】:

以上是关于当用户点击第 11 个号码时,如何验证输入文本(在 html 中)是不是是有效的电话号码?的主要内容,如果未能解决你的问题,请参考以下文章

在文本字段中输入值后如何显示*

如何在Android的文本视图中使电话号码可点击

文本字段中的 javascript 验证

Firebase 手机认证无需等待验证码

当用户在 UIWebView 中点击时,默认键盘如何出现?

如何使用 Swift 在文本字段(从右到左)上输入货币格式?