2011-12-28 128 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*