我查看了我的代码并更改了它,一切看起来都没问题我只是不明白为什么它不起作用!当我在浏览器中打开它并输入电话号码并按下按钮时没有任何反应。它没有像我想要的那样提醒我。
<html>
<head>
<title>Phone Number Validation</title>
</head>
<body>
<script language="javascript">
window.onload=function(){
document.getElementById("valButton".onclick=validateIt;
}
function validateIt(){
var phoneno = /^\d{10}$/;
if((inputtxt.value.match(phoneno))
{
alert("Yay it's a phone number!");
return true;
}
else
{
alert("Not a valid number");
return false;
}
}
</script>
<p>Phone Number Validation:</p>
<p>Enter a phone number here:<br>
<input type="text" size=30 id="phoneno" /><br>
<input type="button" value="Validate" id="valButton" />
</p>
</body>
</html
答案 0 :(得分:1)
在输入中添加"onblur=phonenumber()"
,以便在控件离开输入时触发调用该功能(单击或标签离开)。
答案 1 :(得分:0)
您编写的功能永远不会被执行。您需要在按钮和/或输入本身上添加事件处理程序。最简单的方法是在DOMContentLoaded
事件触发(已解析DOM)之后。
var btn = document.getElementById( 'valButton' );
btn.addEventListener( 'DOMContentLoaded', function(){
var txt = document.getElementById( 'phoneno' ).value;
if ( phonenumber( txt ) ) {
alert( 'Test passed. Do stuff here' );
} else {
alert( 'Test failed!!' );
}
}, false );
同样,如果你想在人离开输入字段后自动检查,你可以使用:
var input = document.getElementById( 'phoneno' );
input.addEventListener( 'blur', function(){
if ( phonenumber( input.value ) ) {
alert( 'Test passed. Do stuff here' );
} else {
alert( 'Test failed!!' );
}
}, false );
答案 2 :(得分:0)
的问题:
1-永远不会调用该函数
2-该函数有语法错误
function phonenumber(inputtxt) {
var pattern = "/^\d{10}$/",
phoneno = new RegExp(pattern);
if (inputtxt) {
if(inputtxt.match(phoneno)) {
return true;
} else {
alert("message");
return false;
}
}
}
//Using jQuery for DOM manipulation you can execute the function on validate button click
$('#valButton').on('click', function () {
var phoneInputValue = $('#phoneno').val();
phonenumber(phoneInputValue);
});
在这里结帐固定代码: https://jsfiddle.net/au7aft0k/2/