Первое замечание: не используйте массив как ассоциативный массив! Используйте объект вместо. Или используйте массив в обратном порядке.
Второе замечание: почему вы используете регулярные выражения для такого простого поиска? Вместо этого используйте indexOf:
function dateFormat(dateInput)
{
var formattedDate = "";
var the_date, month, year;
var months = new Array("",
"jan", "feb", "mar",
"apr", "may", "jun",
"jul", "aug", "sep",
"oct", "nov", "dec"
);
// Find which month we are dealing with
for (var i = 1; i < months.length; i++)
{
if (dateInput.toLowerCase().indexOf(months[i]) > -1)
{
var whichMonth = months[i];
break;
}
}
if (whichMonth != undefined)
alert("Found: " + whichMonth);
}
dateFormat("10 Jun 2008");
Если вы действительно хотите использовать регулярные выражения, чтобы остаться в теме, вот еще один способ:
function dateFormat(dateInput)
{
var formattedDate = "";
var the_date, month, year;
var months = /(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i;
// Find which month we are dealing with
var matches = dateInput.match(months);
if (matches != null)
alert("Found: " + matches[1]);
}
dateFormat("December, 10 2008");