2013-10-01 3 views
1

У меня есть укус, который содержит дату, но объект даты не принимает его, поэтому я должен сделать его в допустимом формате.String split через regex javascript

Я попытался это

"20130820".split(/^[a-z0-9]{4}[a-z]{2}[a-z0-9]{2}?$/) 

Он должен выдавать массив как

["2013", "08", "20"] 

Любая идея, где я не прав?

+0

Что вы намерены оформить [a-z] символы в регулярное выражение? Вы ожидаете получить буквенно-цифровые значения? – devnull69

+0

Пользователи никогда не могут быть ... вы их получите .. – Sangoku

ответ

3

Вы хотите использовать .match, а не .split. Вам нужно захватить каждую группу, а второй класс символов - также a-z, когда это должно быть просто \d.

"20130820".match(/^(\d{4})(\d{2})(\d{2})$/).slice(1) 
0

попытка подстрока

String str="20130820"; 
    String year=str.subString(0,3); 
    String month=str.subString(4,5); 
    String date=Str.subString(6,7); 
1

Почему раскол, вы можете использовать String#match:

var m = "20130820".match(/^(\d{4})(\d{2})(\d{2})$/); 
//=> ["20130820", "2013", "08", "20"] 

кстати для этого простого задания вам не нужно регулярное выражение просто использовать String#substring