• js 作业


    <!Doctype html>
    <html>
    <head>
    <meta content="text/html" charset="utf-8" http-equiv="content-type">
    </head>
    <body>
    <script>
    /**
    * @params string type 填写弹出框的提示类型 y 年 m 月 d 天
    * */
    function myPrompt(type) { //弹出方法
    var strTemp = '请输入出生的';
    var errMsg = '请正确输入';
    var strType = '';
    switch (type) {
    case 'y':
    strType += '年份(1900-目前年份)';
    break;
    case 'm':
    strType += '月份';
    break;
    case 'd':
    strType += '日期';
    break;
    default:
    console.log('传参错误')
    }
    var val = prompt(strTemp + strType);//获取输入信息
    if (isNaN(val)) { //如果不为数字返回重新填写
    alert(errMsg + strType);
    val = myPrompt(type);
    }
    val = parseInt(val); //防止出现 04 之类2位数
    if (type == 'y' && !checkYear(val)) {//如果为年判断年输入是否正确
    alert(errMsg + strType);
    val =myPrompt(type); //重新填写
    }
    if (type == 'm' && !checkMonth(val)) {//如果为月判断月输入是否正确
    alert(errMsg + strType);
    val =myPrompt(type);//重新填写
    }
    if (type == 'd' && !checkDay( arguments[1], arguments[2],val)) {//如果为天判断天输入是否正确 参数1 2 为年月
    alert(errMsg + strType);
    val = myPrompt(type, arguments[1], arguments[2]);//重新填写
    }
    return val;
    }

    /**
    * 判断平闰年
    * @params num year 填写的年份
    * 闰年返回 true
    * */
    function isYear(year) {
    if (0 == year % 4) { //判断 平闰年
    return true
    } else {
    return false
    }
    }

    /**
    * 检测年份填写函数
    * @params num year 填写的年份
    * */
    function checkYear(year) { //检测年份输入
    var nowYear = new Date().getFullYear();//获取现在的年份
    var minYear = 1900;//设置最小年份为1900年
    if (minYear <= year && nowYear >= year) {
    return true;
    } else {
    return false;
    }
    }

    /**
    * 检测月份
    * @params num month 填写的年份
    * */
    function checkMonth(month) {
    if (1 <= month && 12 >= month) {
    return true;
    } else {
    return false;
    }

    }

    /**
    * 判断这个月份多少天
    * @params num year 填写的年份
    * @params num month 填写的月份
    * */
    function getMonthDayNum(year, month) {
    var allDay = 31; //默认为大月
    switch (month) {
    /*小月*/
    case 4:
    case 6:
    case 9:
    case 11:
    allDay = 30;
    break;
    case 2: //二月
    if (isYear(year)) {//判断闰年
    allDay = 29;
    } else {
    allDay = 28;
    }
    break;
    default:
    //no do
    }
    return allDay;

    }

    /**
    * 检查天数填写函数
    * @params num month 填写的年份
    * @params num day 填写的天数
    * @params num month 填写的月份
    * */
    function checkDay(year, month, day) {
    var allDay = getMonthDayNum(year, month);//获取这个月一共多少天
    console.log(day,allDay);

    if (1 <= day && allDay >= day) {
    return true;
    } else {
    return false;
    }
    }

    /**
    * 获取出生年的多少天出生
    * */
    function getDay() { //获取多少天
    var myYear = myPrompt('y');//年
    var myMonth = myPrompt('m');//月
    var myday = myPrompt('d', myYear, myMonth);//日 (传入 年月检测日的输入是否合法)
    var res = 0;//返回结果默认值
    for (var i = 1; i < myMonth; i++) {
    res += getMonthDayNum(myYear, i);//获取月份的天数
    console.log(i, getMonthDayNum(myYear, i), res);
    }
    res += myday;//加上日期
    document.write("您出生在" + myYear+ "的第" + res + "天");
    }
    getDay();
    </script>
    </body>
    </html>
  • 相关阅读:
    WPF -- PasswordBox数据绑定方法
    WPF -- 窗口Clip+Effect效果
    WPF -- Generic.xaml文件报错
    WebCombo 客户端绑定数据
    NPOI 导入excel
    Bootstrap +mvc实现网络共享文件查阅(应用于企业ISO等共享文件呈现)
    webdatagrid 列样式
    datagridview 设置列对齐及显示数据格式
    datagridview
    webdatagrid 列只读
  • 原文地址:https://www.cnblogs.com/hellozg/p/7171865.html
Copyright © 2020-2023  润新知