出生日期 下拉框 实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了出生日期 下拉框 实现相关的知识,希望对你有一定的参考价值。

ssh框架中 jsp页面如何实现出生日期的下拉框 根据出生年月 判断年龄 有源码请发到邮箱 如图

邮箱:598425034@qq.com

我的DropDownList1是月,DropDownList2是年,DropDownList3是日。年和月用反了。呵呵
private void Page_Load(object sender, System.EventArgs e)

if(!IsPostBack)

int i;
ArrayList month=new ArrayList();
for(i=1;i<=12;i++)
num.Add(i);
this.DropDownList1.DataSource=month;
this.DropDownList1.DataBind();
//以上初始化月
int j;
ArrayList year=new ArrayList();
for(j=2000;j<=2020;j++)
year.Add(j);
this.DropDownList2.DataSource=year;
this.DropDownList2.DataBind();
//以上初始化年
this.DropDownList1.AutoPostBack=true;
this.DropDownList2.AutoPostBack=true;



private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)

day(this.DropDownList1.SelectedValue,Convert.ToInt16(this.DropDownList2.SelectedValue));


private void day(string d,int year)

switch(d)

case "1":
case "3":
case "5":
case "7":
case "8":
case "10":
case "12":
daynum("31");
break;
case "2":
if((year%4==0&&year%100!=0)||(year%400==0))
daynum("29");
else
daynum("28");
break;
default:
daynum("30");
break;




private void daynum(string num)

int i;
ArrayList day=new ArrayList();
for(i=1;i<=Convert.ToInt16(num);i++)
day.Add(i);
this.DropDownList3.DataSource=day;
this.DropDownList3.DataBind();


private void DropDownList2_SelectedIndexChanged(object sender, System.EventArgs e)

day(this.DropDownList1.SelectedValue,Convert.ToInt16(this.DropDownList2.SelectedValue));
参考技术A 这里有一个js 日期联动选择
可以设置默认日期
会自动设置闰年日期的
可以参考一下

参考资料:http://www.blueidea.com/common/shoutbox/redir.asp?6=m&id=11075

本回答被提问者采纳

js身份证解析提取出生日期与性别,输出结果要在一个表单文本框里,怎么弄啊?谢啦!

用正则验证身份证合法性,并从子匹配中提取相应的字符串,格式化成生日和性别字段,代码如下:

输入身份证号:<input type="text" id="id" name="id" value=""><br>
出生日期:<input type="text" id="bd" name="bd" value=""><br>
性别:<input type="text" id="sex" name="sex" value=""><br>
<input type="button" onclick="javascript:getData();" value="提取身份证信息">
<script type="text/javascript">
function getData()
   var ido=document.getElementById(\'id\');
   var bd=document.getElementById(\'bd\');
   var sex=document.getElementById(\'sex\');
   if(!/^\\d6((?:19|20)((?:\\d2(?:0[13578]|1[02])(?:0[1-9]|[12]\\d|3[01]))|(?:\\d2(?:0[13456789]|1[012])(?:0[1-9]|[12]\\d|30))|(?:\\d202(?:0[1-9]|1\\d|2[0-8]))|(?:(?:0[48]|[2468][048]|[13579][26])0229)))\\d2(\\d)[xX\\d]$/.test(ido.value))
      alert(\'身份证号非法.\');
      return;
   
   bd.value=(RegExp.$1).substr(0,4)+\'-\'+(RegExp.$1).substr(4,2)+\'-\'+(RegExp.$1).substr(6,2);
   sex.value=(parseInt(RegExp.$2)%2==0?\'女\':\'男\');

</script>

如果还有问题欢迎追问,问题解决请及时选择满意回答,谢谢.

追问

http://zhidao.baidu.com/question/417422540.html你把这个采纳结果修改下,让它最后生成结果是:出生日期:(一个文本框框)年(一个框)月(一个框)日
性别:(一个框)
谢啦!万谢!

追答

哪有让我去改别人代码的道理,你的意思是我的回答没有用是吧.
之前回答有误,更正一下,顺便符合你的要求.

输入身份证号:
出生日期:年月日
性别:

function getData()
var g=function(s)return document.getElementById(s);;
if(!/^\d6((?:19|20)(?:(?:\d2(?:0[13578]|1[02])(?:0[1-9]|[12]\d|3[01]))|(?:\d2(?:0[13456789]|1[012])(?:0[1-9]|[12]\d|30))|(?:\d202(?:0[1-9]|1\d|2[0-8]))|(?:(?:0[48]|[2468][048]|[13579][26])0229)))\d2(\d)[xX\d]$/.test(g('id').value))
alert('身份证号非法.');
return;

g('bd1').value=(RegExp.$1).substr(0,4);
g('bd2').value=(RegExp.$1).substr(4,2);
g('bd3').value=(RegExp.$1).substr(6,4);
g('sex').value=(parseInt(RegExp.$2)%2==0?'女':'男');

追问

没有,没有,本人菜鸟一只为完成作业,筋疲力尽,都快哭了的心情!哪还有意见说你的不好……那个提问是作业的全部模样!正则不正则的我不懂!要求是不能用正则阿!!!

追答


出生日期:年月日
性别:
插入到

的下面,并将

var t = ['验证通过!'];
t.push(n.substr(6, 4)+'年'+n.substr(10, 2)+'月'+n.substr(12, 2)+'日');
t.push(n.substr(14,3)%2?'男':'女');
show(ans, t.join(' | '));
改为
document.getElementById('bd1').value=n.substr(6, 4);
document.getElementById('bd2').value=n.substr(10, 2);
document.getElementById('bd3').value=n.substr(12, 2);
document.getElementById('sex').value=n.substr(14,3)%2?'男':'女';
就行了.

参考技术A 用字符串截取,身份证号7-14位表示出生日期,第17位表示姓别奇数是男偶数是女,然后再给文本档赋值就行了

以上是关于出生日期 下拉框 实现的主要内容,如果未能解决你的问题,请参考以下文章

熊猫从日期获取年龄(例如:出生日期)

如何用jQuery实现输入身份证号码后,出生日期自动生成

Java 根据出生日期获得年龄

出生日期验证一直显示

是否有一种语义方式使用3个选择框来选择“出生日期”?

Java 根据出生日期获得年龄