亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

刪除JavaScript字符串中的重音/對話框

刪除JavaScript字符串中的重音/對話框

RISEBY 2019-06-15 11:16:41
刪除JavaScript字符串中的重音/對話框如何從字符串中刪除重音字符?尤其是在IE6中,我遇到了這樣的情況:accentsTidy = function(s){     var r=s.toLowerCase();     r = r.replace(new RegExp(/\s/g),"");     r = r.replace(new RegExp(/[àáa???]/g),"a");     r = r.replace(new RegExp(/?/g),"ae");     r = r.replace(new RegExp(/?/g),"c");     r = r.replace(new RegExp(/[èéê?]/g),"e");     r = r.replace(new RegExp(/[ìí??]/g),"i");     r = r.replace(new RegExp(/?/g),"n");                     r = r.replace(new RegExp(/[òó???]/g),"o");     r = r.replace(new RegExp(/?/g),"oe");     r = r.replace(new RegExp(/[ùú?ü]/g),"u");     r = r.replace(new RegExp(/[y?]/g),"y");     r = r.replace(new RegExp(/\W/g),"");     return r;};但是IE6困擾著我,似乎它不喜歡我的正則表達式。
查看完整描述

3 回答

?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

與ES 2015/ES6String.Prototype.Normalize(),

const str = "Crème Brulée"str.normalize('NFD').replace(/[\u0300-\u036f]/g, "")> 'Creme Brulee'

這里發生了兩件事:

  1. normalize()

    使.

    NFD

    Unicode范式將組合的圖形素分解為簡單圖形的組合。這個

    è

    Crème

    最后表示為

    e + ?.

  2. 使用正則表達式

    字符類

    要匹配U+0300→U+036F范圍,現在只需

    g

    Lobally擺脫了Unicode標準方便地將其分組為

    結合辯證法標記

    Unicode塊

有關性能測試,請參見注釋。

或者,如果你只想排序

亞細亞有足夠的支持~85%,也可以使用多填充。這里但我還沒試過呢。

const c = new Intl.Collator();['creme brulee', 'crème brulée', 'crame brulai', 'crome brouillé','creme brulay', 'creme brulfé', 
'creme bruléa'].sort(c.compare)[ 'crame brulai','creme brulay','creme bruléa','creme brulee','crème brulée','creme brulfé','crome 
brouillé' ]['creme brulee', 'crème brulée', 'crame brulai', 'crome brouillé'].sort((a,b) => a>b)["crame brulai", "creme brulee",
 "crome brouillé", "crème brulée"]


查看完整回答
反對 回復 2019-06-15
  • 3 回答
  • 0 關注
  • 702 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號