2016-06-13 63 views
0

我们决定通过我们的项目支持其他语言,并开始对其进行本地化。如何在本地化应用程序时处理验证(RegEx)

在一些文本框中,我们使用的是文本验证,其中我们只允许某些字符,如只有字母a到z或只有某些字符。当我们使用希伯来语或印地语等其他语言操作系统运行我们的应用程序时,由于验证,用户将无法在这些文本框中输入任何文本。

我们如何制定这些规则本地化\全球化?如何在本地化应用程序时处理这些类型的场景

+0

我建议做哪个实现本地化的属性。 –

回答

0

使用{L}以及您的正则表达式来实现所有语言的必需验证。

从任何语言使用匹配任何字母字符:

\p{L} 

如果你也想匹配的数字:

[\p{L}\p{Nd}]+ 

`\p{L}` ... matches a character of the unicode category letter. 
      it is the short form for [\p{Ll}\p{Lu}\p{Lt}\p{Lm}\p{Lo}] 
       \p{Ll} ... matches lowercase letters. (abc) 
       \p{Lu} ... matches uppercase letters. (ABC) 
       \p{Lt} ... matches titlecase letters. 
       \p{Lm} ... matches modifier letters. 
       \p{Lo} ... matches letters without case. (中文) 

\p{Nd} ...匹配的Unicode类别小数位的字符。

只需更换:^[a-zA-Z0-9\s]+$^[\p{L}0-9\s]+$