O [0-9]*
não é inútil; corresponde a qualquer número (0-9) exibido antes do intervalo de números pares ( [02468]
). Isso é levar em consideração números pares de vários dígitos.
Por exemplo, se você não tiver ^[0-9]*
ancorado ao início do seu padrão, ele não corresponderá:
92
910
308
20
O outro padrão que você mencionou ( /^[02468]/
) corresponderia apenas a qualquer coisa que inicie com um dígito par.