如果数字存在,我需要从数字的开头删除+或00。因此,像+37253783478
这样的数字将输出37253783478
,而0037253783478
将输出37253783478
。符合此模式的正则表达式会是什么样?
编辑:我已经成功使用^0+
删除了前导零,但我不知道如何匹配这两种情况。
答案 0 :(得分:2)
如果我理解此要求,以下内容将适合这两种情况。本质上,您需要做的是使用正则表达式或运算符|
。
以下内容将删除所有前导0
str.replace(/(^0+|^\+)/,'')
但是,如果您只需要删除两个前导0,请使用以下代码:
str.replace(/(^00|^\+)/,'')
这是对您的示例的作用:
let nums = ['+37253783478', '0037253783478', '0037253780478', '375378+0478'];
let replaced = nums.map(num => num.replace(/(^0+|^\+)/,''));
console.log(replaced);