任何人都可以告诉我如何保持逗号“,”和点“。”还有数字?
我试过在谷歌搜索但我没有发现任何我能理解的东西。
string2 = string2.replace(/\D./g,'');
var element1 = document.getElementById("content"),
style1 = window.getComputedStyle(element1),
height1 = style1.getPropertyValue('height');
var string1 = height1;
string1 = string1.replace(/\D/g,'');
alert(string1);
var element2 = document.getElementById("nav-menu"),
style2 = window.getComputedStyle(element2),
height2 = style2.getPropertyValue('height');
var string2 = height2;
string2 = string2.replace(/\D./g,'');
alert(string2);
var x = string1/string2;
var z = 100/x
答案 0 :(得分:0)
我真的不知道你想要实现什么,但点是正则表达式中的一个特殊字符,匹配任何单个字符。所以string2.replace(/\D./g,'')
不会“保留逗号和点”,因为正则表达式匹配\ D加上下一个字符(无论它是什么)。如果只想匹配一个点,则必须将其转义或放入字符类中。
答案 1 :(得分:0)
如果我说得对 - 你试图从样式字符串中提取属性值。我会这样做:
var regex = /([\d\.\,]+)(\s)?[a-z\%]+/gi;
alert(regex.test("height: 38.5%;")[1]); // will show 38.5
或者
alert(regex.test("height: 38.5%;")[0]); // will show 38.5%, as the whole matched expression
<强>更新强> 考虑使用jQuery http://jquery.com/
答案 2 :(得分:0)
string2 = string2.replace(/ [^ \ d。] / g,“”);我只需要添加一个。之后\ D想象我不需要,任何方式,因为它使用31.31而不是31,31