约束不起作用?

时间:2014-01-21 07:16:16

标签: java jquery regex constraints

嗨我有两个约束,一个用于地址,另一个用于注释。 对于地址我想只包括小写和大写字母,数字,空格,hypon,'。和逗号,为此我写这些正则表达式patteren。 对于客户端:final String regexp = "/^[a-zA-Z\\d\\s-',.]+$/"; 对于服务器端:final Pattern p = Pattern.compile( "([a-zA-Z\\d\\s-',.])+");

对于评论约束我想允许除^<>%*()#!?之外的每个字符 为此我的正则表达式patteren是为了客户端:

final String regexp = "/[^<>%*()#!?]+$/";

服务器端:

final Pattern p = Pattern.compile("/[^<>%*()#!?]+$/");

但它没有正常工作地址没有任何人可以帮助的空间

2 个答案:

答案 0 :(得分:2)

服务器端正则表达式应该是

[a-zA-Z\\d\\s\\-',.]+

-用于指定范围。如果您只想在字符串中使用-,请将其视为\\-

答案 1 :(得分:0)

您必须在字符类中转义破折号。没有,范围从spacesingle quote(即:ascii 32到ascii 39)。

[a-zA-Z\\d\\s\\-',.]

您也可以将短划线放在角色类的开头或结尾处:

[a-zA-Z\\d\\s',.-]

[-a-zA-Z\\d\\s',.]

根据评论更新:我想允许除&lt;&gt;%*()之外的所有字符#!?

[^<>%*()#!?]

如果要测试字符串中是否存在至少一个无效字符,则不需要锚点或修饰符。

final Pattern p = Pattern.compile("/[^<>%*()#!?]/");