javascript - 使用javascript满足条件的电话号码验证

标签 javascript html css regex

我需要满足以下条件的电话号码验证。我有单独的代码。但是我发现很困难 结合正则表达式。

1.整个电话号码不能超过64个字符。

电话号码的第2.1个字符可以是+或0。

电话号码的第 3.2、3、4 个字符可以是 ( 或 ) 或 - 或空格或数字 0 到 9。

  1. 电话号码的第 5 到第 64 个字符可以是 ( 或 ) 或 - 或空格或 * 或 # 或数字 0 到 9 或大小写字母

请指导。在此先感谢。

var num1 = /^[\+0]$/; // first character 0 or +

var num2 = /^\d(?: ?\d+)*$/; // space 

var num3 = /^\d{0,64}$/; // 64 character long

最佳答案

你真的可以把问题稍微分解一下。

  1. 确保输入小于等于64个字符
  2. 只需检查第一个正则表达式部分和第二个正则表达式部分
  3. 检查字符串的其余部分

function test_example () {
  let input = document.getElementById("example").value
  if (input.length <= 64)
  {
    if (input[0] !== "+" && input[0] !== "0")
    {
      console.log("first false")    
      return false
    }
    
    let second = input.substring(1, 5)
    if (!second.match(/^[0-9() ]+$/))
    {
      console.log("second false")
      return false
    }
    
    let third = input.substring(5)
    console.log(third)
    if (!third.match(/^[A-z0-9()*# -]+$/))
    {
      console.log("third false")
      return false
    }
    
    console.log("okay")
    return true
  }
}
<input type="text" id="example" />
<button onclick="test_example()">test</button>

关于javascript - 使用javascript满足条件的电话号码验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49269961/

相关文章:

php - 将值从数据库保存并获取到页面上

jquery - 根据字体大小和字体样式计算字符串的宽度

jquery - 我的下拉菜单无法工作

html - 模仿 html 中的交替行

css - 在 Less 选择器中使用 function/mixin

javascript - 不打印控制台日志

Javascript Bookmarklet - window.location.href 在当前链接之后放置新链接

javascript - Python-spidermonkey : How to get a line num. 错误

html - 当我在标题中给出边界有问题时?

javascript - 使用 jQuery 将类添加到第 n 个属性