我不太确定您的问题的确切范围是什么,但是您可以使用正则表达式来检查数字:
var x = prompt("Enter any characters");
if (x && x.match(/\d/)) {
// there are digits in the string
}
或以不同的方式编写(任何一个都有效):
var x = prompt("Enter any characters");
if (x && /\d/.test(x)) {
// there are digits in the string
}
请注意,这也是在尝试将其用作字符串之前确保它x
为非空且不为空,因为如果用户取消提示,它将返回null
.
\d
在正则表达式中表示匹配任何数字
您可以在此处阅读 javascript 中的正则表达式以及在此处使用它们的字符串方法。
我仍在猜测您的问题的真正界限是什么,但是没有正则表达式并且仅使用您在评论中提到的功能,您可以这样做:
var digits = "0123456789";
// get string from user
var str = prompt("Enter any characters");
// check each digit one at a time
if (str) {
for (var i = 0; i < digits.length; i++) {
// see if the next digit is in the string
if (str.indexOf(digits.charAt(i)) {
// found a digit
}
}
}