使用正则表达式从Javascript中删除字符串中的数字(包括负数)

时间:2011-10-19 08:31:54

标签: javascript jquery regex expression

我正在使用以下reg ex从字符串中删除数字,但它也会从负数中删除( - )。有没有人知道一个reg ex,那就是数字和( - )。感谢。

var string = "jdhjhjcdhj-200";
alert(string.replace(/[^\d]/g,""));

4 个答案:

答案 0 :(得分:1)

只需在正则表达式中添加-

var string = "jdhjhjcdhj-200";
alert(string.replace(/[^\d-]/g,""));

它会为您提供-200

答案 1 :(得分:1)

将短划线包含在排除的符号列表中:

string.replace(/[^\d\-]/g,"")

答案 2 :(得分:1)

match 方法返回匹配模式的数组:

var string = "jdhj-hjc-dhj-200";
alert(string.match(/-?\d+/)[0]);

答案 3 :(得分:1)

正则表达式为(?!-?\d).

var string = "j-d-h-j-hjcdhj-200def-";
alert(string.replace(/(?!-?\d)./g,""));

请注意,这会剥离abc-def-123并将其设为-123

在此测试:http://gskinner.com/RegExr/?2uvds

它使用负向前瞻来“忽略”减去后跟一个数字和数字。

如果要删除多行文字,您应该使用[\s\S]代替.(请在此处阅读http://www.regular-expressions.info/dot.html