固定文本格式的需求,可以考虑使用JQuery的插件Masked Input Plugin,这个插件可以预定义文本框的格式。
如果像提问中所说,需要一个固定的日期格式,比如"YYYY年MM月DD日",或者"YYYY-MM-DD”。
那么代码如下:
<html xmlns="
http://www.w3.org/1999/xhtml" lang="en"> <head>
<title>DateFormat</title>
<script type="text/javascript" src="js/jquery-1.8.1.js"></script>
<script type="text/javascript" src="js/jquery.maskedinput-1.3.js"></script>
<script type="text/javascript">
$(function(){
$("#txtBirthday").mask("9999年99月99日");
});
</script>
</head>
<body>
出生日期:<input type="text" name="txtBirthday" id="txtBirthday" />
</body>
</html>
其中,数字9是字符掩码,代表数字(0-9)。另外,还有a,代表字符(A-Z,a-z)。
补充说一点,如果只是需要给文本赋一个日期的值,没有其他的文本格式需求,其实还可以考虑使用JS日历控件,通过日历控件给文本赋值的好处是简单直观,而且也不需要再进行日期有效性的验证(使用文本框的方式,还得验证一下用户输入是否正确,比如2014-02-30,这个日期显然是错误的)。