回答

2

以前的回答很好,但我不清楚它回答了這個問題。對此,我不太瞭解這個問題。如果您問JavaScript正則表達式是否獨立於語言,那麼答案是肯定的,他們只是查看字符串中的字符。但顯然你用正則表達式(文字,數字,電話號碼,日期等)尋找的東西大概會因語言和語言環境而異。因此,您可以構建一個通用正則表達式來驗證所有電話號碼,例如,但可能不太可能,並且在任何情況下,可能會出現這樣的情況,即一個上下文中的有效數字在另一個上下文中無效。您最好創建用於驗證的語言特定正則表達式,就像創建特定於語言的字符串一樣。這是否回答你的問題?

+0

當涉及到驗證時,本地化真的把貓引向了驗證,尤其是對於Anglosphere開發人員 - 我們很習慣用像/^[A-Z0-9 \ s] +/i這樣的表達式驗證字符串,我們忘記John LeCarré想要註冊一個賬戶會發生什麼,因爲他的姓氏無效而無法發生。驗證數字,日期,電話號碼等確實需要特定於語言環境的表達式 - 嘗試創建一個真正的正則表達式來驗證所有電話號碼是徒勞無益的。 –

0

不可以。請不要混淆對格式的驗證。前者是對語法定義的一致性度量,後者是對語法要求的一致性度量。即使你的正則表達式非常棒以至於說明了所有格式良好的條件,它仍然缺乏結構化定義的結構遞歸和反射的語境。