是否可以限制“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}

相关内容