首页 > 解决方案 > 在 Javascript 中嵌套数学函数

问题描述

我正在处理一个 Acrobat 表单,它应该只接受字段中的正整数。

如果简单地重新调整数字以适应标准,这是理想的。例如,如果用户键入“-1.4”,它应该简单地更改为“1”。

将其用作该字段的“验证脚本”是否可以接受:

if (event.value) event.value = Math.abs(Math.round(event.value));

它似乎可以工作,但是通常可以嵌套这样的函数,还是会导致问题。

标签: formsacrobat

解决方案


不要在验证事件期间更改值,而是首先防止输入无效值。要仅允许输入不带破折号的数字,请将以下内容添加到自定义击键事件中。

event.rc = !(/[a-zA-Z\-]/.test(event.change));

在此处输入图像描述

您可能还需要修改正则表达式以防止其他字符。我只是做了最低限度的。请记住,您需要允许删除键、返回键和退格键,因此您不能只将正则表达式限制为 0-9(这将是显而易见的事情)。


推荐阅读