0

ユーザーがパターン####-##-###-####に文字または数字を入力したかどうかをテストしたい

私の式は^(\ w){4}-(\ w){2}-(\ w){3}-(\ w){4} $で、オンラインテスターでは機能するようですが、validateExpressionでは機能しません。

何か案は?

これが私のコードです(getComponentValyeは値を取得するための私自身の関数です)...

<xp:inputText id="nsn" value="#{ddsURFQCI.NSN}">
   <xp:this.validators>
    <xp:validateExpression>
     <xp:this.expression><![CDATA[#{javascript:getComponentValue("nsn").match(new RegExp("^(\w){4}-(\w){2}-(\w){3}-(\w){4}$", "i"))}]]></xp:this.expression>
     <xp:this.message><![CDATA[#{javascript:"NSN must match the pattern ####-##-###-####. (" + getComponentValue("nsn") + ")"}]]></xp:this.message>
     </xp:validateExpression>
   </xp:this.validators>
</xp:inputText>
<xp:message id="message1" styleClass="error" for="nsn"></xp:message>
4

1 に答える 1

0

式をこれに変更して、うまくいきました... ^ [A-Za-z0-9] {4}-[A-Za-z0-9] {2}-[A-Za-z0-9] {3 }-[A-Za-z0-9] {4} $

于 2013-03-26T10:10:50.333 に答える