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

1.整个电话号码可以是64个字符长。

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

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


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


请指导。谢谢。



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

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

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

最佳答案

您真的可以解决这个问题。


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




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/

10-12 23:48