[英]Js RegEx do not recognize accented letters (utf-8)
Windows 10 64位上的Node.js 10.8.0需要識別包含非alpabetic字符的字符串:
let a = "train"
/\W/u.test(a) // false
a = "non-good"
/\W/u.test(a) // true
到現在為止還挺好。 但是,如果字符串包含帶重音的字母,則此操作無效:
a = "niño"
/\W/u.test(a) // true!?
注意我使用'u'修飾符使其適用於Unicode。
錯誤或功能?
顯然,我可以把測試寫成:
/[^a-zA-Zñ]/u.test(a)
添加所有重音字符,但似乎不正確。 有什么建議嗎? 謝謝!
顯然,功能。
據MDN稱:
\\ W
匹配基本拉丁字母表中不是單詞字符的任何字符。 相當於
[^A-Za-z0-9_]
。
( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp )
我找不到任何聲稱u
旗幟應該改變這種行為的消息來源。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.