使用JavaScript验证电话号码
我有一个包含三个元素的表单。我想在用户输入电话号码时验证它。如果用户移动到下一个元素,并且电话号码包含和字符,而这些字符不是号码,我希望显示一个alertbox 我写了一些代码,但完全被难住了。我的功能存在的问题是,即使我只在phone number元素中输入数字,仍然会显示警报框。我的代码如下所示:使用JavaScript验证电话号码,javascript,html,Javascript,Html,我有一个包含三个元素的表单。我想在用户输入电话号码时验证它。如果用户移动到下一个元素,并且电话号码包含和字符,而这些字符不是号码,我希望显示一个alertbox 我写了一些代码,但完全被难住了。我的功能存在的问题是,即使我只在phone number元素中输入数字,仍然会显示警报框。我的代码如下所示: <script type="text/javascript"> function validateForm() { checkNr= isNaN(document.forms[0].e
<script type="text/javascript">
function validateForm()
{
checkNr= isNaN(document.forms[0].elements[1])
if(checkNr == true)
{
window.alert("You can only enter numbers. Please try again")
}
}
</script>
<form>
<strong>FULLNAME: </strong><input type="text" / id="name"><br />
<strong>PHONE NR: </strong><input type="text" id="phone" onblur="validateForm()" />
<strong>NATIONALITY</strong><input type="text" id="nat" /><br />
<input type="button" id="subButton" onclick="calc()" value="Submit" />
</form>
函数validateForm()
{
checkNr=isNaN(document.forms[0]。元素[1])
如果(checkNr==true)
{
window.alert(“您只能输入数字,请重试”)
}
}
全名:
电话号码:
国籍
提前感谢您的所有回答和帮助。您应该使用正则表达式。请看这里:
您应该使用正则表达式执行此操作。请看这里: 改变
document.forms[0].elements[1]
到
您测试的是元素本身,而不是元素的值
顺便说一句,如果有人用破折号或括号(例如:(555)123-4567)输入电话号码,您希望发生什么情况?更改
document.forms[0].elements[1]
到
您测试的是元素本身,而不是元素的值
顺便说一句,如果有人用破折号或括号(例如:(555)123-4567)输入电话号码,你预计会发生什么?你会发现许多实现目标的例子:
例如,如果您只能使用数字:
function phonenumber(inputtxt)
{
var phoneno = /^\d{10}$/;
if((inputtxt.value.match(phoneno))
{
return true;
}
else
{
alert("message");
return false;
}
}
你会发现许多实现目标的例子:
例如,如果您只能使用数字:
function phonenumber(inputtxt)
{
var phoneno = /^\d{10}$/;
if((inputtxt.value.match(phoneno))
{
return true;
}
else
{
alert("message");
return false;
}
}
请尝试提醒
document.forms[0].elements[1]
自身,以查看值是否符合您的预期。请尝试提醒document.forms[0].elements[1]
自身,以查看值是否符合您的预期。非常感谢您给出了清晰的答案。效果很好。老实说,我没有想过如果有人闯进来会发生什么。通过阅读一些回复,我可以看到需要使用一些模式。不幸的是,我不明白代码…非常感谢你的明确答案。效果很好。老实说,我没有想过如果有人闯进来会发生什么。通过阅读一些回复,我可以看到需要使用一些模式。不幸的是,我不明白代码。。。