2016-06-13 66 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]+$