验证以080,081,090,070,091开头的电话号码



我想验证电话号码前缀和位数。

电话号码将是11位长(只有数字)。字冠必须以080、081、090、091、070开头,最大长度为11位。

我在javascript中使用下面的代码放置了一个验证代码来验证电话号码数字,它工作得很好。

**Phone number 11 digits validation code below;**
} else if (form.usercheck1.value.length<11 || 
form.usercheck1.value.length>11) { alert("phone number should be 11 digits!");
}

但是我需要帮助来验证电话前缀。如有任何帮助,不胜感激。

我完整的javascript代码如下;

/* myScript.js */
function check(form) /*function to check userid & password*/ {
/*the following code checkes whether the entered userid and password are matching*/
if (form.usercheck1.value == "1234" ||
form.usercheck1.value == "12345")  {
alert("An account already exist with this phone number! nKindly login to proceed.") // displays error message
} else if (form.usercheck1.value.length < 11 || form.usercheck1.value.length > 11) {
alert("phone number should be 11 digits!");
} else {
window.location.replace('https://www.google.com')
/*opens the target page while Id & password matches*/
}
}
}

您可以使用这种模式:^0([89][01]|70)d{8}$

检查前缀和总共11位数字。

注意:你说最多11个数字,但当我读你的代码,似乎你想要正好11个数字,上面的模式正好适用于11个数字。如果你想让它最多11位,你可以使用这个:^0([89][01]|70)d{0,8}$

<!DOCTYPE html>
<html>
<body>
<form>
<label for="phone_number">Phone number: </label>
<input type="text" id="phone_number" name="phone_number" pattern="^0([89][01]|70)d{8}$" title="Maximum length is 11 and Phone number must start with one of 080, 081, 090, 091 or 070 And must be all numeric">
<input type="submit" value="Submit">
</form>
</body>
</html>

你真的需要使用正则表达式吗??

你认为哪一个更容易理解?

/^0(?:[89][01]|70)/.test(input)
['080', '081', '090', '070', '091'].includes(input.substring(0,3))

除非列表非常长,并且有一个明确的模式,否则我不会选择在这里使用神秘的正则表达式。

相关内容

  • 没有找到相关文章

最新更新