我在javascript中有以下功能:
function unString(String){
var justNumbers = /(?=.*\d)\d*(?:\.\d*)?/;
var result = String.match(justNumbers);
result *= 1;
result = Math.round(result*100) / 100;
return result;
}
它的意思是从每个可能的css值中提取数字,以便可以添加或减去或与其他值相乘: 即克。
var newPadding = unString( $('#myID').css("padding-bottom") )*10 + "px";
修改了我的代码后,我现在需要正则表达式允许可选的减号,允许像“-3px”这样的值转换为“-3”(实际上函数不能并返回“0”)。
[我知道stackoverflow和其他论坛上有大量可选的减去正则表达式线程,但它们与我的正则表达式的形式不匹配 - 我对正则表达式没有太多经验,因为创建上面的我必须做的漫长而激烈的研究 - 所以我无法修改我的正则表达式,参考这些]
[正则表达式应该允许数字,可选的小数点和可选的减号]
提前谢谢
答案 0 :(得分:0)
您可以使用
/-?[0-9]*\.?[0-9]+/g
请参阅regex demo
<强>解释强>:
-?
- 一个可选的连字符(您可以将其替换为[-+]?
,以便可选地匹配-
和+
)[0-9]*
- 零个或多个数字\.?
- 一个可选的点[0-9]+
- 一位或多位数。