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

相關內容