我有一些 JavaScript 应该作为如何验证提示框输入的示例。
用户单击按钮,输入名称,JavaScript 验证输入并显示相应的消息。如果名称正确,则表示这是一个好名称,如果您输入数字/符号,则表示输入无效(到目前为止一切都很好)。然而,当用户点击提示框上的“取消”时,消息显示“null”是个好名字。我试图捕获这个,但似乎不起作用。当用户单击“取消”时,如何让它显示一条消息,提示您没有输入有效的名称?
这是它的 JS fiddle :http://jsfiddle.net/TurgidWizard/jzzsqu06/
html:
<button onclick="Validation()">Click Me</button>
<p id="vresult"></p>
Javascript:
function Validation() {
document.getElementById("vresult").innerHTML = "";
PetName = prompt("Please enter your favourite pet's name:", "");
var T = Test(PetName);
if (T == false | T == "null") {
document.getElementById("vresult").innerHTML = "You did not enter a valid name!";
} else {
document.getElementById("vresult").innerHTML = PetName + " is a lovely name, good choice!!";
}
}
function Test(str) {
return /^[a-zA-Z]+$/.test(str)
}
请注意我如何尝试使用“if (T == false | T == "null")”来捕获为无效消息做好准备的“null”。
最佳答案
你的语法在这里很糟糕:
if (T == false | T == "null")
null
不应是字符串,或者 ||
不是 |
。
您还想检查 PetName
是否为 null
,而不是正则表达式的结果。
该行应如下所示:
if (!T || !PetName)
这是你的 fiddle :http://jsfiddle.net/jzzsqu06/1/
关于JavaScript提示框: how to validate the cancel button (null),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27776809/