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