首页 > 解决方案 > 防止用户在输入的任何地方输入数字。如何?

问题描述

我收到用户的输入

我想防止用户在输入的任何地方输入数字。

目前停留在这个:

let name = prompt('Enter your name:');

function isNumber(str) {
        let replaced = str.replace(/\D/g, ""); //deleting all symbols from a String
        return parseInt(replaced); //parsing string numbers to actual numbers -> returning
}

while (typeof isNumber(name) === 'number') {
        name = prompt("You can't put NUMBERS in name input! try again: ");
}

标签: javascript

解决方案


这比尝试删除所有非数字以查看是否还有数字要简单得多

let name = prompt('Enter your name:');

while (name.replace(/\d/g,"") !== name) {
  name = prompt("You can't put NUMBERS in name input! try again: ");
}

或者 .match 或 .test 使用数字正则表达式


推荐阅读