javascript中实现读取指定格式的日期(format)
javascript
的编码能力比较弱,但并不代码它不能做,只不过,需要你花一点功夫,前段时间在做日历的时候,需要从textbox读取日期,问题的关键是textbox
的日期可能是美国标准,可能是中国标准等等,没有办法将之转成日期格式,也就不能将日期在日历中定位到当天。在csdn上问了一个问题,结果没有人答得合
适,我一怒之下,自儿写了一个,还行,能用。
说说需求吧,基本上很简单,就是能识别yyyymmdd及yymd这样的日期格式,或者yy、yyyy、M、MM、d、dd的任意组合。如yyyy年MM
月dd日,匹配2009年06月10日。
先看代码吧:
//将字符串转换为日期
String.prototype
.toDate
=
function
(
format)
{
pattern =
format.replace
(
"yyyy"
,
"(\~
1{4})"
)
.replace
(
"yy"
,
"(\~
1{2})"
)
.replace
(
"MM"
,
"(\~
1{2})"
)
.replace
(
"M"
,
"(\~
1{1,2})"
)
.replace
(
"dd"
,
"(\~
1{2})"
)
.replace
(
"d"
,
"(\~
1{1,2})"
)
.replace
(
/~1/g
,
"d"
)
;
var
returnDate;
if
(
new
RegExp(
pattern)
.test
(
this
)
)
{
var
yPos =
format.indexOf
(
"yyyy"
)
;
var
mPos =
format.indexOf
(
"MM"
)
;
var
dPos =
format.indexOf
(
"dd"
)
;
if
(
mPos ==
-
1
)
mPos =
format.indexOf
(
"M"
)
;
if
(
yPos ==
-
1
)
yPos =
format.indexOf
(
"yy"
)
;
if
(
dPos ==
-
1
)
dPos =
format.indexOf
(
"d"
)
;
var
pos =
new
Array(
yPos +
"y"
,
mPos +
"m"
,
dPos +
"d"
)
.sort
(
)
;
var
data =
{
y:
0
,
m:
0
,
d:
0
}
;
var
m =
this
.match
(
pattern)
;
for
(
var
i =
1
;
i &
lt;
m.length
;
i++
)
{
相关文档:
1 javascript 正则
对象创建 和用法
声明javascript 正则
表达式
复制代码
代码如下:
var reCat = new RegExp("cat");
你也可以
var reCat = /cat/; //Perl 风格 (推荐)
2 学习最常用的 test exec match search replace split 6个方法
1) test 检查指定的字符串是否存在
复制代码
......
用js 打开新窗口的时候,窗口最大化。
function showBigLisence(url){
if(url!== undefined && url!== null && url !== ''){
var scrWidth=screen.availWidth;
var scrHeight=screen.availHeight;
var self=window.open( ......
Javascript 原型和继承(Prototypes and Inheritance) 收藏
前面我们看到了如何使用 constructor 来初始化对象。如果这样做,那么每一个创建的新对象都会对那些相同的属性,方法建立一个独立的副本。而实际上有更加有效的方法来指定方法,常量,以及其他一些可被所有该类的对象共享的属性。
JavaScript 对象从一个 ......
那些相见恨晚的 JavaScript 技巧
ugmbbc发布于 2010-04-24 10:15:58|10771 次阅读 字体:大 小 打印预览
感谢锐商企业CMS的投递
新闻来源:Smashing Magazine
JavaScript 的成功让人津津乐道,为 Web 网页编写 JavaScript 代码已经是所有 Web 设计师的基本功, ......