簡體   English   中英

Js RegEx不識別重音字母(utf-8)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM