JavaScript提示框: how to validate the cancel button (null)

标签 javascript validation null prompt

我有一些 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/

相关文章:

Javascript 将日期和时间添加到 mailto 主题链接

javascript - 组合的 JQuery 菜单不起作用

javascript - 是否可以在不提供空值数组的情况下在 billboard.js 时间序列图表上添加一个点?

ruby-on-rails - 自定义电子邮件唯一验证不适用于设计

null - 在 Hive 中处理 NULL 值

java - 为什么 onActivityResult Intent 数据为空?

mysql - 带有 NULL 的 SQL CASE 语句

javascript - 如何使用javascript在表中追加一行

java - 空字段导致错误 "stopped unexpectedly"

.net - 在选项卡之间移动时如何阻止 WPF 验证错误消失?