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++
)
{
相关文档:
<script>
///用户数据结构
function _tagUser()
{
this.UserId = 0; //0-4
this.UserName = ""; //5-
this.Parse = function(VarTypeUser)
{
for (var i=0;i<VarTypeUser.length;i++)
VarTypeUser[i] = String.fro ......
把以前写的BLOG转过来吧,这个是个不错的JS复制到剪切板,留作记号以备后用。
<mce:script type="text/javascript"><!--
copyToClip(cpStr){
if(clipboardData){
clipboardData.setData("Text", cpStr);}
else if (netscape){
netscape.security.PrivilegeManager.enablePrivilege( ......
JavaScript 的成功让人津津乐道,为 Web 网页编写 JavaScript 代码已经是所有 Web 设计师的基本功,这门有趣的语言蕴藏着许多不为人熟知的东西,即使多年的 JavaScript 程序员,也未能完全吃透。本文从7个方面讲述 JavaScript 中那些你不很熟知但非常实用的技巧。
简略语句
JavaScript 可以使用简略语句快速创建对象和数 ......
以下您可以看到收集的8个实用的 JavaScript 测试及效验工具,它们都可以在不同环境下进行单元测试及校验测试您的脚本。
JSLint
JSLint是基于Web的验证JavaScript错误代码的工具。它拥有的功能及特定的设置来使用您的需求,自定义你的验证算法。
JsUnit
JsUnit是一款在客户端(在浏览时)的单元测试JavaScript框架。对Ja ......