带换行符的字符串不应视为数字

时间:2019-04-22 18:23:30

标签: coldfusion cfml duck-typing coldfusion-2016

我不希望将带有换行符的字符串视为数字。

应将其视为字符串

<cfscript>
  notes = "3
    ";
</cfscript>

换行符已保留

 <cfoutput>
 <pre>|#notes#|</pre>    

 Number: #isNumeric(notes)# <!--- returns YES --->

 <pre>|#replacelist(notes, chr(10) , "\n") #|</pre>    

 Number: #isNumeric(notes)# <!--- returns YES
 </cfoutput>

Example on cffiddle

enter image description here

1 个答案:

答案 0 :(得分:1)

当我从脑子里写东西时,我总是很犹豫地写一个答案,而我却没有书面证明。 ColdFusion具有各种功能来验证数据。有isValidisInteger等。我没有太多使用这些函数,因为它们在某些情况下会非常自由地验证值。例如,在某些情况下应该有整数值时,会接受美元符号。因此,我使用正则表达式来检查值是否为数字。 reFind( "^\d+$", ... )仅允许数字。此表达式允许前面有一个可选的减号:reFind( "^-?\d+$", ... )