【发布时间】:2022-11-06 06:22:26
【问题描述】:
以下函数应该检查两个输入:名称和消息。我不确定这里出了什么问题,但我想先看看输入是否为空,如果不是,我想用正则表达式检查它。
我只是想看看它是否为空的消息。如果其中一个为空,我想返回一条消息,要求输入正确的输入。我不确定是否应该在这里使用 else if 或完全分开 if 语句。如果我这样做完全疯了,我也想知道这一点。
JavaScript:
function validate() {
let regName = /^[a-zA-Z]+ [a-zA-Z]+$/;
let name = document.querySelector("[name='user-name']");
let msg = document.querySelector("[name='user-message']");
if (name) {
name = name.value;
} else if (!regName.test(name)){
document.querySelector("[name='user-name']");
return "Please enter your first & last name.";
}
if (msg) {
msg = msg.value;
} else if (msg.trim() == "") {
document.querySelector("[name='user-message']");
return "Please enter a message";
}
}
【问题讨论】:
-
任何人的名字无论拼写如何都不是“有效的”吗?如果我愿意,我明天可以去法庭,把我的名字改成
c++。 ...所以你需要检查某人的“名字”的有效性,而不是一个空字符串,去掉所有的空格? -
好吧,我正在尝试检查名字和姓氏,是的,您可以合法地这样做,但是如果您必须将信息输入表格,那将如何工作?
-
如果无法找到
user-name输入,您只会使用regName.test(name)。为什么else if中有那个代码? -
该表格将接受我输入的任何名称。理想情况下。但是如果你想要非异常情况,你总是可以有一个常见姓氏的“查找”表。第一个名字是所有赌注。
-
我不知道如何同时进行这两项检查
标签: javascript