利用正则
代码如下 | 复制代码 |
//取生肖, 参数必须是四位的年 function getshengxiao(yyyy){ var arr=['猴','鸡','狗','猪','鼠','牛','虎','兔','龙','蛇','马','羊']; return /^\d{4}$/.test(yyyy)?arr[yyyy%12]:null } // 根据生日的月份和日期,计算星座。 function getAstro(month,day){ var s="魔羯水瓶双鱼牡羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯"; var arr=[20,19,21,21,21,22,23,23,23,23,22,22]; return s.substr(month*2-(day<arr[month-1]?2:0),2); } |
正则性能不好我们可以直接判断
代码如下 | 复制代码 |
function toStar( date ) { ss = date.split( "-" ); month= parseInt( ss[1], 10 ); date = parseInt( ss[2], 10 ); if (month == 1 && date >=20 || month == 2 && date <=18) { value = "水瓶座"; } else if (month == 2 && date >=19 || month == 3 && date <=20) { value = "双鱼座"; } else if (month == 3 && date >=21 || month == 4 && date <=19) { value = "白羊座"; } else if (month == 4 && date >=20 || month == 5 && date <=20) { value = "金牛座"; } else if (month == 5 && date >=21 || month == 6 && date <=21) { value = "双子座"; } else if (month == 6 && date >=22 || month == 7 && date <=22) { value = "巨蟹座"; } else if (month == 7 && date >=23 || month == 8 && date <=22) { value = "狮子座"; } else if (month == 8 && date >=23 || month == 9 && date <=22) { value = "室女座"; } else if (month == 9 && date >=23 || month == 10 && date <=22) { value = "天秤座"; } else if (month == 10 && date >=23 || month == 11 && date <=21) { value = "天蝎座"; } else if (month == 11 && date >=22 || month == 12 && date <=21) { value = "人马座"; } else if (month == 12 && date >=22 || month == 1 && date <=19) { value = "摩羯座"; } return value; } alert(toStar('1986-12-05')); |
好了这样非常的简单了,小编推荐使用第一种方法吧,正则看上好看,后者不好看但性能要好。
时间: 2024-11-18 15:38:11