Можно ли ограничить ввод `TextField` только числами?

Можно ли ограничить ввод `TextField` только числами?

Я хотел бы иметь, TextFieldкоторый содержиттолько числадля того, чтобы сделать дату типа [TextField]/[TextField]/[TextField]. Мне также нужно ограничить длину, ноэто было задано ранее.

Сравнение двух разных результатов

МВЭ:

\documentclass{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{hyperref}

\begin{document}

\begin{Form}
    \TextField[width=1em,charsize=7pt,maxlen=2]{Text}
\end{Form}

\end{document}

Я использую Acrobat Reader DC, и желательно, чтобы ответ на этот вопрос (на который, похоже, вряд ли будет дан ответ) содержал следующие требования:

  1. Это должно сработать у большинства возможных зрителей.
  2. Если входные данные содержат текст или цифры, смешанные с текстом или любым другим символом, который не является числом, то код должен отклонить ввод, то есть мы не должны видеть, как в нашем средстве просмотра пишутся «a», «b1» или «bb», а должны видеть «11», «99», «01» и т. д.

Спасибо!!

решение1

Простая версия, которая выводит NaN(не число), если это не число. Вы можете просто включить еще немного JavaScript, чтобы проверить, является ли это числом, NaNа затем очистить поле, если это то, что вам нужно.

Обратите внимание: JavaScript всегда немного зависит от пользователя. Я тестировал только с Okular.

\documentclass{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{hyperref}

\begin{document}

\begin{Form}
    \TextField[width=1em,charsize=7pt,maxlen=2,name=text,calculate={this.getField('text').value=Number(this.getField('text').value)}]{Text}
\end{Form}

\end{document}

Связанный контент