у меня есть этот формат для дат гггг-ММ-дд
и генерация следующего значения
/^[0-9][0-9][0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]$
Это генерируется в java с использованием следующего, где я заменяю формат на регулярное выражение
String format = getDisplayDateFormat( formatType );
format = format.replaceAll("\\-","\\\\-");
format = format.replaceAll("y","[0-9]");
format = format.replaceAll("M","[0-9]");
format = format.replaceAll("d","[0-9]");
return "^" + format + "$";
Если я запускаю это через валидатор регулярных выражений, это нормально, но chrome дает следующую ошибку
Pattern attribute value ^[0-9][0-9][0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]$ is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: /^[0-9][0-9][0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]$/: Invalid escape
изменить, чтобы включить html
<input type="text" value="2020-04-21" placeholder="yyyy-mm-dd" pattern="^[0-9][0-9][0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]$" data-minimum-value="2020-08-10" data-maximum-value="2020-08-13"id="F112407" maxlength="10" data-date-format="YYYY-MM-DD" >