如果我想写一个if语句在网页上弹出的提示,我希望它是字符串,我只能执行此操作。例如,如果您输入字符串,它将说"接受用户名",但是如果您输入一个数字,则会说"用户名被拒绝"。到目前为止,我说的代码每次都接受用户名。
let webUser = prompt("Please create a username", "typehere");
if (webUser != null) {
document.getElementById("root").innerHTML =
"Hello " + webUser + "! How are you today?";
}
if (typeof webUser == 'string' || webUser instanceof String) {
alert('Username Accepted')
} else {
alert('Username Denied')
}
如果要在没有RegEx
的情况下实现:
let webUser = prompt("Please create a username", "typehere");
if (webUser != null) {
document.getElementById("root").innerHTML = "Hello " + webUser + "! How are you today?";
}
if (isNaN(+webUser)) {
alert('Username Accepted');
}
else {
alert('Username Denied') ;
}
<div id="root">
</div>
您从 prompt
获得的值类型始终是字符串,即使它中有数字。如果要检查字符串是否仅由数字组成,则可以使用正则表达式:
const webUser = prompt("Please create a username", "typehere");
if (/^d+$/.test(webUser.trim())) console.log('invalid');
else console.log('valid');
prompt
总是返回字符串数据类型。您要确定的是该字符串作为整数是否可解析。您可以在这里看到一些如何做的示例:如何在JavaScript中分析int