2015-11-26 2 views

ответ

2

Если это дата, то подход Зана, вероятно, лучший. Но если вы действительно хотите сделать это с регулярными выражениями, то здесь подход:

Чтобы удалить только первый ведущий ноль:

"01/01/2015".replace(/^0(.*)/,"$1") 

Подробней:

str = "01/01/2015" 
pat = /^0(.*)/  // Match string beginning with ^, then a 0, then any characters. 
str.replace(pat,"$1") // Replace with just the characters after the zero 

Для удалить начальные нули в каждой группе:

str = "01/01/2015" 
pat = /(^|[/])0(\d*)/g // Match string begin^or /, then a 0, then digits. 'g' means globally. 
str.replace(pat,"$1$2") // Replace with the part before and after the 0. 
+0

Ницца с регулярным выражением, но более многословным не снимая нуля за месяц – Afsar

+0

Хороший вопрос! Ред. – Laizer

2

вам можно попробовать без REGEX:

var myDate="01/01/2015"; 
var d = new Date(myDate); 
alert(d.getDate() + '/' + (d.getMonth()+1) + '/' + d.getFullYear()); 
1

надеюсь, что это то, что вы хотите:

s = '01/01/2015'; // check 11/01/2015 、11/11/2015、01/10/2015 ... 
s = s.replace(/0*(\d+)\/0*(\d+)\/(\d+)/,"$1/$2/$3"); 
alert(s); 
+0

Пожалуйста, добавьте объяснение, почему это решит проблему OP. Помогите другим понять. – APC

Смежные вопросы