用regex和jQuery删除html特殊字符

时间:2011-07-20 23:04:42

标签: jquery regex

匹配以下html字符串中的€特殊字符所需的正则表达式是什么?

€20.000.000,00

最终,我想从数字中删除€符号。目前,我的代码如下所示:

num = $("#number").html();
num.replace('€','');

$("number").html(num)

但当然我需要用正确的正则表达式替换'€'

3 个答案:

答案 0 :(得分:1)

看来,当您使用jQuery操作文本时,HTML缩写€已被其实际的unicode值替换 - 真正的单个字符。一个引用unicode字符值的正则表达式应该适合你。

var x = $('#number').html();
x = x.replace(/\u20ac/, '');
$('#number').html(x); 

答案 1 :(得分:1)

对从浏览器页面提取的HTML执行正则表达式是不可靠的,因为从浏览器返回的HTML在每个浏览器中通常都是不同的。例如,IE将删除属性周围的引号并更改属性的顺序,因为它正在重构HTML,而不是返回原始HTML。 HTML实体也是如此(您可能会或可能不会获得实际实体)。你通常可以找到一段不间断的文本,但是比这更复杂的东西可能很麻烦。

在浏览器消化和反刍之前尝试上去食物链总是更好。转到浏览器尚未操作任何内容的实际页面源,或让服务器将所需值直接放在javascript变量中(如果可能)。

答案 2 :(得分:0)

.replace返回其结果,它不会就地修改字符串。