javascript - 如何创建基于提示输入类型显示文本的警报弹出窗口?
问题描述
我是一个尝试一些基本 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());
在提示框中输入数字时,如何使警报框显示“您没有输入有效名称”,将不胜感激。
谢谢。
解决方案
提示总是返回一个字符串,您可以尝试将其转换为数字,然后检查它是否在您身上,这意味着它是一个字符串。不过,在这里使用正则表达式会更好。如果您正在记录它,您可能还想返回名称。
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());
推荐阅读
- gatsby - Gatsby Wordpress 源插件中的内联图像
- css - 在比您的屏幕更大的屏幕上进行响应式设计 - 我该怎么做?
- swift - Swift 编译器对我的返回类型做了什么?它以某种方式铸造吗?
- google-cloud-platform - 有没有办法在函数或过程中获取 BigQuery 函数或过程名称?
- sql - 如何根据单元格值删除行?- SQL
- javascript - JSON.parse = 当另一个值等于特定值时如何返回一个值?
- ios - AudioKit v5 输出问题,使用 AVAudioSession defaultToSpeaker 时没有声音
- c# - 尝试使用模型反序列化 json 时出现问题
- terraform - 用于将 json 作为值放入地图的 Terraform 语法
- typescript - 为什么 typescript mixins 需要一个带有单个 rest 参数 any[] 的构造函数?