Java Spring@Pattern bean是否使用本地化模式进行验证?
我们的SpringMVC应用程序使用视图bean上的@Pattern注释来限制用户可以输入的字符Java Spring@Pattern bean是否使用本地化模式进行验证?,java,spring,localization,Java,Spring,Localization,我们的SpringMVC应用程序使用视图bean上的@Pattern注释来限制用户可以输入的字符 @Pattern(regexp = "[a-zA-Z0-9_.]*") private String username; 我们正在将应用程序本地化为各种欧洲语言(法语、德语等),并希望包括其他字符,如带有重音和元音的字符 我觉得我们应该把注意力集中在排除我们不想要的角色上,或者有更好的方法吗?我认为\p{L}是你想要的。这是unicode字符的字符类。另请参见模式类的文档。您也可以将此模式[\\p
@Pattern(regexp = "[a-zA-Z0-9_.]*")
private String username;
我们正在将应用程序本地化为各种欧洲语言(法语、德语等),并希望包括其他字符,如带有重音和元音的字符
我觉得我们应该把注意力集中在排除我们不想要的角色上,或者有更好的方法吗?我认为
\p{L}
是你想要的。这是unicode字符的字符类。另请参见模式类的文档。您也可以将此模式[\\p{IsL}]用于Unicode字符。它包括重音(áéíóú)和其他欧洲字符(ñ…)考虑使用这种模式:
@Pattern(regexp = "^[a-zA-Z0-9_.\u00C0-\u1FFF\u2C00-\uD7FF]*$")
private String username;
请注意,它也包括非欧洲语言。
虽然,\p{L}
也可以正常工作:
@Pattern(regexp = "^[\\p{L}0-9_.]*$")
private String username;
看