如何在javascript中测试字符串是否包含带正则表达式的数字

How to test if a string contains a number with regular expression in javascript?

本文关键字:包含带 是否 正则表达式 数字 字符串 测试 javascript      更新时间:2024-05-16

我正在尝试

function hasANumber(value) {
    return /^.*[0-9]*.*$/.test(value);
}

我哪里错了?

正则表达式中的*表示零个或多个

您应该使用+,意思是一个或多个,如:

/^.*[0-9]+.*$/

尽管这可以简化为:

/[0-9]+/

对于这种情况,仅'd就足够了。

> /'d/.test('foo')
false
> /'d/.test('fo1o')
true

正则表达式中的[0-9]*与一个数字匹配零次或多次,因此它也允许没有数字的字符串。

这是写数字的正确形式regex是:

 'd+$