JSF:特殊字符的验证

时间:2010-06-28 13:14:42

标签: regex validation jsf

我想对(,/'#~@[]}{+_)(*&^%$£"!\|<>)等特殊字符应用验证 使用jsf验证器。我已经为数字实现了验证器,但现在我想为特殊字符制作验证器。

value.toString().trim().matches();

java类中matches()方法中的正则表达式是什么?

我想允许除指定字符之外的所有字段。

提前致谢

1 个答案:

答案 0 :(得分:3)

为什么不仅允许字母数字字符

if (!value.toString().trim().matches("\\p{Alnum}*")) {
    throw new ValidatorException(new FacesMessage("Invalid characters!"));
}

如果你真的想要朝着这个方向前进。要检查字符串是否包含这些字符,请使用:

if (value.toString().trim().matches(".*[,/'#~@\\x5B\\x5D}{+_)(*&^%$£\"!\\|<>]+.*")) {
    throw new ValidatorException(new FacesMessage("Invalid characters!"));
}

请记住,您可能也想要禁用的Unicode字符集中有更多字符可供使用。