在Javascript中删除字符串的前导零

时间:2014-06-19 20:15:48

标签: javascript regex

我有一个场景,我需要从字符串中删除任何前导零 例如02-0302&030203。我有这个正则表达式(s.replace(/^0+/, '');)来删除前导零,但我需要一些适用于上述情况的东西。



var s = "01";

s = s.replace(/^0+/, '');

alert(s);




2 个答案:

答案 0 :(得分:27)

最简单的解决方案可能是使用这样的单词边界(\b):

s.replace(/\b0+/g, '')

这将删除任何前面没有拉丁字母,十进制数字,下划线的零。全局(g)标志用于替换多个匹配(没有它只会替换找到的第一个匹配)。

$("button").click(function() {
  var s = $("input").val();
  
  s = s.replace(/\b0+/g, '');
  
  $("#out").text(s);
});
body { font-family: monospace; }
div { padding: .5em 0; }
#out { font-weight: bold; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div><input value="02-03, 02&03, 02,03"><button>Go</button></div>
<div>Output: <span id="out"></span></div>

答案 1 :(得分:0)

s.replace(/\b0+[1-9]\d*/g, '')

应替换字边界之后和非零数字之前的任何零。这就是我认为你在这里寻找的东西。