JavaScript:\\ d {4} RegExp允许超过4位数字

ser*_*nni -1 javascript regex numbers

对来自文本输入的年份值进行以下验证:

if (!year.match(new RegExp('\\d{4}'))){
    ...
}
Run Code Online (Sandbox Code Playgroud)

RegExp等于null数字从0到3的数值。可以。
如果是4位数字,则返回值。没关系。
如果超过4位数字,则再次返回值,表示不正确

文档说{n}声明的意思是确切的数字,但工作方式如下:

exact+
Run Code Online (Sandbox Code Playgroud)

通过如此丑陋的验证,它可以正常工作:

if (!year.match(new RegExp('\\d{4}')) || year.length>4){
...
}
Run Code Online (Sandbox Code Playgroud)

我只想利用RegExp对象。

Rag*_*geZ 5

是的,它允许多于4位数字,因为这将是部分匹配,请使用^$来标记字符串的开头和结尾。

if (!year.match(new RegExp('^\\d{4}$'))){
    ...
}
Run Code Online (Sandbox Code Playgroud)