Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring@Pattern bean是否使用本地化模式进行验证?_Java_Spring_Localization - Fatal编程技术网

Java Spring@Pattern bean是否使用本地化模式进行验证?

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

我们的SpringMVC应用程序使用视图bean上的@Pattern注释来限制用户可以输入的字符

@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;