我通常对RegExp非常满意,但是这个让我难过。这是javascript片段:
var justDateRegex = '\d+/\d+/\d+';
var dateStr = $('#Dropdown').find(':selected').text();
var onlyDate = dateStr.match(justDateRegex);
console.log('Regex: ' + justDateRegex + ' dateStr: ' + dateStr + ' onlyDate: ' + onlyDate);
这是console.log
的输出Regex: d+/d+/d+ dateStr: 11/23/2013 12:00:00 AM onlyDate: null
我希望onlyDate读取:2013年11月23日,但它为null。有什么想法吗?
答案 0 :(得分:5)
String.match()
期望其参数为RegExp对象,而不是字符串。
var justDateRegex = /\d+\/\d+\/\d+/;
var dateStr = $('#Dropdown').find(':selected').text();
var onlyDate = dateStr.match(justDateRegex);
答案 1 :(得分:1)
问题是你必须逃离\
。这是一个working JSFiddle。
var justDateRegex = '\\d+/\\d+/\\d+';
var dateStr = '11/23/2013';
var onlyDate = dateStr.match(justDateRegex);
console.log('Regex: ' + justDateRegex + ' dateStr: ' + dateStr + ' onlyDate: ' + onlyDate);