gpt4 book ai didi

coldfusion - 仅在 Coldfusion 中使用带有两位小数的数字验证文本字段值

转载 作者:行者123 更新时间:2023-12-03 12:22:14 26 4
gpt4 key购买 nike

我想检查表单字段的值是否是带有两位小数的数字,并相应地进行验证。它应该接受带有两位小数的数字,例如:2.33,否则它应该抛出像 2.987 这样的错误,它不应该接受超过两位小数。谁能帮我解决这个问题吗?

我尝试过以下操作:

<cfif NOT isValid(#NumberFormat( 7.4, ",.00" )#, dataValue)> 

最佳答案

正则表达式是一种很好的验证方式。看看您可以在此处使用哪个选项:

<cfif not reFind("^[0-9]+\.[0-9]{2}$", dataValue)>
<cfthrow type="IllegalArgumentException" message="You may input a decimal value with two decimal places only!">
</cfif>

^ = 值必须以即将出现的模式开始
[0-9]+ = 匹配0到9的数字,一位或更多
\. = 一个点(字面意思),反斜杠是一个转义符号,因为 .有不同的效果
[0-9]{2} = 匹配0到9的数字,恰好是两位数
$ = 值必须以之前的模式结束


如果您想接受点和逗号作为小数点分隔符,您可以更改 \.[,.] .
如果您想接受一两个小数位,可以更改 [0-9]{2}[0-9]{1,2} .

如果您根本不需要小数位,但当它们存在时,它们必须有两位小数:

<cfif not reFind("^[0-9]+(\.[0-9]{2})?$", dataValue)>
<cfthrow type="IllegalArgumentException" message="You may input a decimal value without decimal places or with exactly two decimal places only!">
</cfif>

(\.[0-9]{2})? = 括号将模式分组,问号将其标记为“可能匹配一次”或“可能根本不匹配”。

注:[0-9]相当于 \d 。我只是更喜欢实际看到数字。

关于coldfusion - 仅在 Coldfusion 中使用带有两位小数的数字验证文本字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44561738/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com