匹配以下html字符串中的€特殊字符所需的正則表達式是什麼?使用正則表達式和jQuery去除html特殊字符
€20.000.000,00
最後,我想要去除從數€符號。目前,我的代碼如下所示:
num = $("#number").html();
num.replace('€','');
$("number").html(num)
但我當然需要用正確的正則表達式替換'€'
。
匹配以下html字符串中的€特殊字符所需的正則表達式是什麼?使用正則表達式和jQuery去除html特殊字符
€20.000.000,00
最後,我想要去除從數€符號。目前,我的代碼如下所示:
num = $("#number").html();
num.replace('€','');
$("number").html(num)
但我當然需要用正確的正則表達式替換'€'
。
看來,當您使用jQuery處理文本時,HTML縮寫€
已被其實際Unicode值 - 真實單個字符€
取代。一個引用unicode字符值的正則表達式應該爲你做竅門。
var x = $('#number').html();
x = x.replace(/\u20ac/, '');
$('#number').html(x);
這個伎倆。你知道替換何時/何時發生,爲什麼? –
我想知道這是否會在其他瀏覽器,在閱讀jfriend00的答案(上面)後保持一致。 –
我已經驗證此代碼在以下瀏覽器中可用:OS X Firefox 3.0,Windows Firefox 3.0-4.0,Windows IE 6.0-9.0,Windows Chrome 11.(經過[Adobe Browserlab](https://browserlab.adobe。 com/en-us/index.html))我們必須使用unicode字符而不是HTML代碼的原因是因爲我們正在處理由HTML源代碼創建但與之不同的活着的Document Object Model 。 –
.replace
返回它的結果,它不會原地修改字符串。
我知道。下一步是執行'$(「number」)。html(num)'來替換舊的字符串。我將編輯問題以包含此內容。 –
我的意思是這樣做:'num = num.replace('€','');'。 – MRAB
當然,這也可以。 –
這樣做對已經從瀏覽器頁面中提取HTML正則表達式是不可靠的,因爲你從瀏覽器的後退的HTML是在每個瀏覽器往往不同。例如,IE將刪除屬性周圍的引號並更改屬性的順序,因爲它將重構HTML,而不是返回原始HTML。 HTML實體也是如此(您可能會也可能不會得到實際的實體)。你通常可以找到一個不間斷的文本,但比這更復雜的任何東西都可能是麻煩的。
在食物鏈被消化和瀏覽器反芻之前嘗試食物鏈總是會更好。轉到瀏覽器尚未操作任何東西的實際頁面源代碼,或讓服務器直接在您的JavaScript變量中放置所需的值(如果可能)。
'replace()'也適用於常規字符串,因此它應該可以工作。 – casraf
我認爲是這樣,但不是,所以我想我會去正則表達式。 –
基本上'/ \ &euro\; /'應該像RegEx一樣工作,儘管如此試用它還沒有測試 – casraf