Поскольку вы хотите разрешить только одну .
(за которой следует .com
или .net
), не повторяйте группу (?:\. ...
- вместо этого просто соответствует [1113 ] \.
, за которой следует группа, которая чередуется между com
и net
. Вы также можете упростить шаблон, используя флаг без учета регистра /i
:
/^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]\.(?:com|net)$/i
const input = prompt('Domain to test?');
console.log(
/^[a-z0-9][a-z0-9-]{1,61}[a-z0-9]\.(?:com|net)$/i
.test(input)
);