gpt4 book ai didi

javascript - 这个验证函数有什么问题?

转载 作者:行者123 更新时间:2023-11-30 00:28:53 25 4
gpt4 key购买 nike

我无法使用此正则表达式/^(?(\d{3}))?[..-/]?(\d{3})[.-/]?(\d {4})$/;前三位数字放在括号 (xxx) xxx-xxxx 中。我尝试使用 if/else 循环测试电话号码,但有些东西不起作用,我找不到我做错了什么。感谢您的帮助。

function validatePhone() {
var pNumber = document.getElementById("phoneprompt").value;
var regex = /^\(?(\d{3})\)?[\.\.-\/]?(\d{3})[\.\-\/ ]?(\d{4})$/;

if (regex.test(pNumber)) {
document.getElementById("phoneprompt").innerHTML = "<img src=\"greencheck.png\" />";
return (true);
} else {
document.getElementById("phoneprompt").innerHTML = "<img src=\"redcheck.png\" />&nbsp;Phone numbers must be in (xxx) xxx-xxxx format";
return (false);
}
}

最佳答案

除了正则表达式的问题,你不能设置输入字段的 innerHTML,所以

function validatePhone() {
var el = document.getElementById("phoneprompt"),
pNumber = el.value,
regex = /^\(?(\d{3})\)?\s?[\.\.-\/]?(\d{3})[\.\-\/ ]?(\d{4})$/,
valid = regex.test(pNumber);

if (valid) {
document.getElementById("phonepromptmsg").innerHTML = "<img src=\"greencheck.png\" />";
} else {
document.getElementById("phonepromptmsg").innerHTML = "<img src=\"redcheck.png\" />&nbsp;Phone numbers must be in (xxx) xxx-xxxx format";
}

return valid;
}
<input id="phoneprompt" onchange="validatePhone()" />
<span id="phonepromptmsg"></span>
<br />
<input type="button" onclick="validatePhone()" value="Test"/>

关于javascript - 这个验证函数有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30339733/

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