2013-07-30 59 views

回答

3

爲特別地匹配此日期格式(即YYYY-MM-DD):

var str = 'Michael Jordan <br> 1963-02-17 Brooklyn, New York'; 
var date = str.match(/[0-9]{4}-[0-9]{2}-[0-9]{2}/)[0]; //"1963-02-17" 

如果它不總是有字符串中的日期,你將要檢查有效匹配第一:

var str = 'Michael Jordan <br> 19632-17 Brooklyn, New York'; 
var date = str.match(/[0-9]{4}-[0-9]{2}-[0-9]{2}/); 
if(date && date[0]) 
{ 
    date = date[0]; 
} 
//date is "1963-02-17" or NULL 

第一個例子會拋出一個錯誤,如果日期不匹配,而第二個將失敗默默離開date等於NULL

+0

韓國社交協會,第一個作品。 –

+0

當'\ d'較短時,爲什麼很多人堅持使用'[0-9]',當'\ d \ d'可用時更不用說[0-9] {2}'。已更新爲'/ \ d {4} - \ d \ d- \ d \ d /'。 – 2013-07-30 14:06:15

+0

@Nate可讀性對新來的正則表達式來說很簡單。我自己使用\ d和\ w等,但對於需要更好地理解正在發生的其他情況,我總是使用更加明確的版本 – SmokeyPHP