RyanJ.Heldtによる優れた検証CFCを使用していますhttp://validation.riaforge.org/
しかし、電子メール検証REに問題があります。RFC 5322では、次の文字を使用できます
! # $ % & ' * + - / = ? ^ _ ` { | } ~
ただし、validate.cfcのREは、アポストロフィのためにJohnO'Connell@somewhere.comを拒否します。
問題のREは次のコードブロックにあります
<cffunction name="validateEmail" returntype="void" access="private" output="false">
<cfargument name="parameters" type="string" required="true" />
<cfset var rr = 0 />
<cfloop index="rr" list="#arguments.parameters#" delimiters=";">
<cfif isDefined("#listGetAt(rr,1,"|")#") and len(_fields[listGetAt(rr,1,"|")]) and not reFind("^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$",_fields[listGetAt(rr,1,"|")])>
<cfset registerError(listGetAt(rr,1,"|"),listGetAt(rr,2,"|")) />
</cfif>
</cfloop>
<cfreturn />
</cffunction>
私のREに関する知識は、解決策を提案することにはなりません。ライアンにこれ(および1年前の別のバグ)について通知しましたが、彼はバグ修正モードになっていないようです。
誰かが別の正規表現を提案できますか?