2011-12-28 173 views
0

我有一個輸入框,用戶可以輸入一個字符串日期,例如今天或明天。但是現在下一個問題已經到來:3月3日或8月8日。jquery正則表達式日期格式

當用戶輸入:「tod」=> today,「jan」=>「january」等時,輸入框有一個下拉菜單,但是當用戶選擇下拉項目時,它會爲他們插入文本,但是現在下面的問題:

3 januari或03 januari或3 januari,因爲你可以看到它需要一些正則表達式來檢查第一部分是否是數字?然後一個空間來了(因爲我們不能依賴於用戶:P),然後是月份的名稱,所以會出現一個空格?

我該怎麼做?

感謝您的幫助。

+0

你可以給你有什麼已經是一個例子嗎?也許使用[jsfiddle.net](http://jsfiddle.net) – MikeM 2011-12-28 01:17:15

回答

1
"13 august".match(/\s*(\d+)\s+(january|february|march|april|may|june|july|august|september|october|november|december)/); 

在這之後,你可以做

var day = parseInt(RegExp.$1, 10); 
var month = [ 
     'january', 
     'february', 
     'march', 
     'april', 
     'may', 
     'june', 
     'july', 
     'august', 
     'september', 
     'october', 
     'november', 
     'december'].indexOf(RegExp.$2.toLowerCase()) + 1; 
alert(month + "/" + day); 

at this jsfiddle

0

就在正則表達式將是這樣的

[0-9]{1,2}\s\w*