如何使用JS识别字符串中的数字?

时间:2014-10-05 18:36:56

标签: javascript

如果我们有一个字符串,请说

'1, 2, 3, 4'
'1, 2, 3 GO!'
'ZOMG THE %^*@#$(*^ ZOMBIES ARE COMING!!11!!1!'

然后如何识别它有数字并返回true?

我需要它,因为在使用时,

if(input == input.toUpperCase())

如果输入数字,则此条件返回true,因此需要添加一种优雅的方法来阻止数字传递此条件。

Edit1:字符串确实以逗号分隔,我已经用google搜索方式将非逗号分隔的字符串识别为数字。

Edit2:添加了我需要传递的更多示例。

1 个答案:

答案 0 :(得分:1)

Regular expressions适用于此:

var str = "(1, 2, 3, 4)";
var containsNumber = /\d/.test(str);      // true

此处,\d是一个正则表达式,如果您的字符串在任何地方包含数字,它将匹配。


好的,看起来你需要查找小写字母......如果有任何小写字母,则不应将其视为大喊

var str = "(1, 2, 3, 4)";
var containsLowercaseLetters = /[a-z]/.test(str);      // false

这只适用于拉丁字母。在您的情况下,只是陈述一下可能更简单:

var isYelling = (input == input.toUpperCase()) && (input != input.toLowerCase());