我想测试用户是否在模式####-##-###-#### 中输入了任何字符或数字
我的表达式是 ^(\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>