我希望用户使用以下代码输入连字符
<var>
<var-name>mask</var-name>
<var-value>^[a-zA-Z0-9]*$</var-value>
</var>
Run Code Online (Sandbox Code Playgroud)
我正在使用 struts 验证。所以请帮我解决这个问题。
编辑
用户可以在字符串的任何位置输入连字符,因此对于-应该在开头、中间还是结尾没有限制。
您应该按如下方式转义它:
<var>
<var-name>mask</var-name>
<var-value>^[a-zA-Z0-9\-]*$</var-value>
</var>
Run Code Online (Sandbox Code Playgroud)
这是因为-是正则表达式中的特殊构造,因此如果您想按字面意思对待它,请转义它。
- 是字符类中的特殊字符,您可以通过将其放在开头或结尾来“转义”它:
[-a-zA-Z0-9]
Run Code Online (Sandbox Code Playgroud)
这个字符类将匹配一个字符,或者:
-当您以这种方式使用它时:^[-a-zA-Z0-9]*$,您确保您的字符串仅由这些字符组成(对连字符或其他可能字符的位置没有限制)
| 归档时间: |
|
| 查看次数: |
7804 次 |
| 最近记录: |