怎么在JavaScript的正则表达式环境下,把英文日期替换YYYY-MM-DD格式?

JavaScript025

怎么在JavaScript的正则表达式环境下,把英文日期替换YYYY-MM-DD格式?,第1张

var arr = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]

var str = "January 25, 2014"

var mon = str.match(/[a-zA-Z]+/)[0]

var temp = arr.join(",").split(mon + ",")[0].match(/,/g)

var len = !!temp ? temp.length + 1 : 1

str = str.replace(mon, len)

         .replace(/\s*(\d+)\s+(\d+)\s*,\s*(\d+)\s*/,"$3-$1-$2")

         .replace(/\-(\d)\b/g,"-0$1")

console.log(str)

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin

dayName = new Array("", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")

monName = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")

now = new Date

// End -->

</script>

<SCRIPT LANGUAGE="JavaScript">

<!-- This script and many more are available free online at -->

<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin

var strDay

if ((now.getDate() == 1) || (now.getDate() != 11) &&(now.getDate() % 10 == 1)) // Correction for 11th and 1st/21st/31st

strDay = "st "

else if ((now.getDate() == 2) || (now.getDate() != 12) &&(now.getDate() % 10 == 2)) // Correction for 12th and 2nd/22nd/32nd

strDay = "nd "

else if ((now.getDate() == 3) || (now.getDate() != 13) &&(now.getDate() % 10 == 3)) // Correction for 13th and 3rd/23rd/33rd

strDay = "rd "

else

strDay = "th "

document.write(

dayName[now.getDay()]

+

" the "

+

now.getDate()

+

strDay

+

"of "

+

monName[now.getMonth()]

+

", "

+

now.getFullYear()

)

// End -->

</script>