首页 > 解决方案 > 如何创建基于提示输入类型显示文本的警报弹出窗口?

问题描述

我是一个尝试一些基本 Javascript 的初学者。我的目标是显示 (1.) 提示消息(请求名称),然后根据提示输入显示 (2.) 警报。如果提示输入是有效的名称(字符串),则应出现一个警告框,其中包含文本“谢谢”+ 名称。否则,警报应显示文本“您没有输入有效名称”。

1. 提示消息正在工作,但是,2. 警报消息显示相同的文本,无论我输入名称/文本还是数字。换句话说,警报消息不区分文本字符串或数字,并且始终显示文本“谢谢”+名称。

这是我的代码:

function EnterName() {
  var name = prompt("Enter your name here:");
  if (typeof name === "string") {
    alert("thank you " + name);
  } else if (typeof name === "number") {
    alert("you didn't enter a valid name");
  }
}
console.log(EnterName());

在提示框中输入数字时,如何使警报框显示“您没有输入有效名称”,将不胜感激。

谢谢。

标签: javascript

解决方案


提示总是返回一个字符串,您可以尝试将其转换为数字,然后检查它是否在您身上,这意味着它是一个字符串。不过,在这里使用正则表达式会更好。如果您正在记录它,您可能还想返回名称。

function EnterName() {
  var name = prompt("Enter your name here:");
  var isNum = !isNaN(Number(name));
  if (!isNum) {
    alert("thank you " + name);
  } else {
    alert("you didn't enter a valid name");
  }
  return name;
}
console.log(EnterName());

推荐阅读