2013-07-30 22 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