gpt4 book ai didi

javascript - 电话验证上的正则表达式不起作用 - javascript

转载 作者:行者123 更新时间:2023-12-03 08:13:53 24 4
gpt4 key购买 nike

不知道为什么我的正则表达式验证不起作用...如果我输入一个数字,它仍然说这是一个无效的数字...为什么?我正在尝试检查无效数字,但如果我输入数字,也会收到错误。

function validatePhone() {

var phone = document.getElementById("phone1").value;
if (phone.length === 0) {
console.log("phone number is required.");
producePrompt("Phone number is required.", "messagePrompt", "red");
return false;
}

if (!phone.match(/^[0-9]{10}$/)) {
producePrompt("Please enter a valid Phone number.", "messagePrompt", "red");
return false;
}
producePrompt("valid Number", "messagePrompt", "green");
return true;
}

function producePrompt(message, promptLocation, color) {
document.getElementById(promptLocation).innerHTML = message;
document.getElementById(promptLocation).style.color = color;
}

function remove_msg() {
producePrompt(" ", "messagePrompt", "red");
}
<form>
<p>Please enter your phone number below:</p>
<input type="tel" name="phone1" id="phone1" placeholder="(000)000-0000" onkeyup="validatePhone()" />
<label for="" id="messagePrompt"></label>
<br>
<input type="button" value="send message" onclick="validatePhone()" />
</form>

最佳答案

此正则表达式将为 (###)###-#### 格式的输入完成工作

 ^\([0-9]{3}\)[0-9]{3}\-[0-9]{4}$

但总的来说,将用户限制为这种非常特定的格式并不是一个好主意。我建议您接受电话号码的多个版本,绝对只包含不带其他字符(例如方括号或连字符)的数字。

关于javascript - 电话验证上的正则表达式不起作用 - javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34034144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com