我正在尝试验证 html 中的 2 个输入字段中的输入是否只是字符,如果不是,我想向用户展示按摩,我正在使用 html 和 js:
HTML:
Player one name: <input type="text" id="firstname" maxlength="20"><br>
Player two name: <input type="text" id="secondname" maxlength="20"><br>
<input type="submit" value="Submit" id="submitBtn" onclick="insertNames();"/>
js:
function insertNames()
{
var nameOne = document.getElementById("firstname").value; //saves values
var nameTwo = document.getElementById("secondname").value;
var letters = /^[A-Za-z]+$/;
if(nameOne == "" || nameTwo == "" || !(nameOne.match(letters)) || !(nameTwo.match(letters))&& (nameOne == nameTwo)){
if( nameOne == nameTwo )
alert("Please enter only characters.")
break;
}else
console.log("ok");
}
当我尝试输入带有数字的字符串时,它不会打印到控制台,但也不会显示窗口警报,我做错了什么?
谢谢!
最佳答案
将您的 if 语句更改为:
if( nameOne === "" || nameTwo === "" || !(nameOne.match(letters)) || !(nameTwo.match(letters)) ) {
alert("Please enter only characters.")
} else {
console.log("ok");
}
这将只检查您的 nameOne 和 nameTwo 变量中的字符。
然后单独声明:
if( nameOne === nameTwo ) {
alert( "Player names are identical!" );
} else {
console.log( "ok" );
}
非常重要:请注意,我使用了三个等号,而不是两个。这称为严格比较器,还会检查类型。更多 here
关于javascript - js 验证(来自 html 输入)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33191430/