我正在寻找regular-expression,可用于检查邮政地址字段值,最小长度为10,包含数字和字符:
目前我使用这个表达式:
`\\[a-zA-Z]|\d|.|\s{10,}`
环境是:
lotus xpages,正则表达式存储在应用程序设计中的属性文件中。
<xp:inputText id="address" dojoType="dijit.form.ValidationTextBox" value="#{complaintDocument.address}">
<xp:this.dojoAttributes>
<xp:dojoAttribute name="promptMessage">
<xp:this.value><![CDATA[${javascript:clientData['address']}]]></xp:this.value>
</xp:dojoAttribute>
<xp:dojoAttribute name="placeHolder">
<xp:this.value><![CDATA[${javascript:common['textValueMinimumTenCharacters']}]]></xp:this.value>
</xp:dojoAttribute>
<xp:dojoAttribute name="trim" value="true">
</xp:dojoAttribute>
<xp:dojoAttribute name="regExp">
<xp:this.value><![CDATA[#{javascript:regExp['minimumTenCharacters']}]]></xp:this.value>
</xp:dojoAttribute>
</xp:this.dojoAttributes>
</xp:inputText>
为了这个目的,是否有任何使用正则表达式的扫描仪更简单?
答案 0 :(得分:0)
我不认为你的正则表达式可以更简单。也许你可以使用
。{10}&gt;任何字符,最多10个长度
如果要检查邮政编码是否有效,可以创建一个java类,用于检查填写的邮政编码是否正确。该类可以存储在应用程序范围中
<faces-config>
<managed-bean-name>
yourzipcodeclass</managed-bean-name>
<managed-bean-scope>
application</managed-bean-scope>
<managed-bean-class>yourclass</managed-bean-class>
</faces-config>
</faces-config>
无论如何当你想检查一个值是否是一个有效的zipcode时,你应该为这个类添加一个方法isValidZipCode(String code,String country)
在此方法中,如果邮政编码正确,则根据您提供的国家/地区进行检查。你如何检查它取决于你。您可以为每个国家/地区使用正则表达式,也可以使用Web服务或数据库中的查找等。
您可以在自定义验证程序中使用此方法。