html5年龄大于18岁,写个JavaScript函数来判断是否大于18岁,比如传入1

/* 分割时间字符串 */

查看全部

编辑于 2017-05-24 14:41:09

回复(0)

3

function adult(date){

var elems = date.split('-'),

today = new Date(),

year = today.getFullYear(),

month = today.getMonth() + 1,

day = today.getDate()

if (+elems[0]+18 < year) {

return true

}else if(+elems[0]+18 > year){

return false

}else{

if (+elems[1] < month) {

return true

}else if(+elems[1] < month){

return false

}else{

if (+elems[2] < day) {

return true

}else{

return false

}

}

}

}

发表于 2017-08-21 15:00:09

回复(0)

2

method1

例子:若今日为“2017-10-10”,生日为“1999-10-9”,思路如下, "2017-10-10" => "1999-10-10" => "19991010"

"1999-10-9" => "1999-10-09" => "19991009"

"19991009" - "19991010" = -1 < 0(返回true)

代码实现 function format(num){

return num.toString().replace(/^(\d)$/, "0$1");

}

function isAdult(birthday){

var n = new Date(),

b = birthday.replace(/\-(\d{1})(\b)/g, "-0$1").replace(/\-/g,""),

t = (n.getFullYear()-18) + format(n.getMonth()+1) + format(n.getDate());

return (b - t <= 0);

}

method2 function isAdult(birthday){

let [birYear, birMonth, birDate] = birthday.split("-");

let today = new Date();

let [Y,M,D] = [today.getFullYear(), today.getMonth() + 1, today.getDate()];

if(Y - birYear < 18){

return false;

}else if(Y - birYear === 18){

if(M - birMonth < 0){

return false;

}else if(M - birMonth === 0){

if(D - birDate < 0){

return false;

}

}

}

return true;

}

编辑于 2017-10-29 20:18:34

回复(0)

1

编辑于 2017-08-22 10:53:59

回复(0)

0

function adult(date){

var time = date.split('-'),

nowTime = new Date(),

nowYear = nowTime.getFullYear(),

nowMonth = nowTime.getMonth(),

nowDay = nowTime.getDate();

if(nowYear - time[0] > 18){

return true;

}else if(nowYear - time[0] < 18){

retun false;

}

if(nowMonth + 1 >  time[1] ){

return true;

}else if(nowYear + 1 < time[1]){

retun false;

}

if(nowDate >= time[2]){

return true;

}else{

return false;

}

}

console.log(adult('2003-09-20));//false;

console.log(adult('1996-09-20));//true;

发表于 2017-12-06 19:27:43

回复(0)

0

(function(){

var doc = document;

var val = doc.getElementById('value');

var butn = doc.getElementById('button');

butn.onclick = function(e){

alert(getGo()?"大于18岁":"不大于18岁")

}

function getGo(){

//var str = val.value.split("-");

var str = val.value + " 0:0:0"    // 添加成时间格式

var bothday = Date.parse(str)

var mydate = Date.parse(new Date()); // 转成时间戳

var age = (mydate - bothday)/(1000*60*60*24*365) // 毫秒转成年

return age>18?true:false;

}

})()

发表于 2017-11-05 17:31:54

回复(1)

0

function isChengnian(year,month,date){ varday=newDate(),

yearNow=day.getFullYear(),

monthNow=day.getMonth()+1,

dateNow=day.getDate();

if(yearNow-year>18||(yearNow-year==18 && monthNow>month)||

(yearNow-year==18 && monthNow==month && dateNow>date)){

return true;

}else{

return false;

}

}

console.log(isChengnian(1999,10,28)); //true

console.log(isChengnian(1999,10,29)); //false

console.log(isChengnian(1999,10,30)); //false

编辑于 2017-10-29 22:56:29

回复(0)

0

css3

// 分割时间字符串

function dateFormat(date) {

var dateArr = date.split('-');

return dateArr;

}

/* 补0操作 */

function zeroFormat(date) {

return date > 10 ? date : '0' + date;

}

/* 判断是否大于18 */

function isYear(year) {

var currentDate = new Date();

var flagDate = dateFormat(year);

var currentYear = currentDate.getFullYear();

var currentMon = zeroFormat(currentDate.getMonth() + 1);

var currentDay = zeroFormat(currentDate.getDate());

var flagYear = flagDate[0];

var flagMon = flagDate[1];

var flagDay = flagDate[2];

if (currentYear - flagYear > 18) {

return true;

} else if (currentYear - flagYear === 18 && currentMon > flagMon) {

return true;

} else if (currentYear - flagYear === 18 && currentMon === flagMon && currentDay > flagDay) {

return true;

} else {

return false;

}

}

console.log(isYear('2000-01-05'));

console.log(isYear('1999-02-14'));

console.log(isYear('1999-02-13'));

console.log(isYear('1989-12-26'));

发表于 2017-09-05 09:42:33

回复(0)

0

function isOlderThanEighteen(ageStr){

var ageArr=ageStr.split("-");

if(ageArr.length<3){return;}

var minus=Date.UTC(2018,0,0,0,0,0)-Date.UTC(2000,0,0,0,0,0);//18年之间差的秒数

var dateNow=Date.now();

var ageSeconds=Date.UTC(ageArr[0],ageArr[1]-1,ageArr[2]);//生日的秒数

return dateNow-ageSeconds>minus? true : false ;

}//精确到小时

发表于 2017-09-04 16:42:50

回复(0)

0

function getAge(str) {

var y = new Date().getFullYear() - str.split('-')[0];

if(y > 18) {

return true;

}else{

return false;

}

}

getAge('2017-4-4');

//只要大于18就行了

发表于 2017-08-28 11:03:11

回复(0)

0

function ageJudge(birth){

var data = new Date();

var year = data.getFullYear();

var month = data.getMonth()+1;

var day = data.getDate();

var year2 = parseInt( birth.split("-")[0] );

var month2 = parseInt( birth.split("-")[1] );

var day2 = parseInt( birth.split("-")[2] );

if((year-year2)>18){

return true; }else if((year-year2)<18){

return false;

}else{

if((month-month2)<0){

return false;

}else if((month-month2)>0){

return true;

}else{

if((day-day2)<0){

return false;

}else if((day-day2)>=0){

return true;

}

}

}

}

发表于 2017-08-27 17:16:58

回复(0)

0

var getAge = function(born) {

var bornYear = born.substring(0,4);

if(bornYear == undefined) {

console.log("false");

}

var date = new Date;

var currentYear = date.getFullYear();

var age = currentYear - bornYear;

if(age >= '18') {

console.log("true");

}else {

console.log("false");

}

};

发表于 2017-08-26 15:29:19

回复(0)

0

var get-borth=prompt("输入你的出生年月");

var borth=Number(get_borth);

var flag=false;

if((2017-borth)>=18){

flag=ture;

alert(flag);

}

else{

flag=false;

alert(flag);

}

发表于 2017-08-25 11:26:55

回复(0)

0

var fmt_date = function(date){

if(!date) return;

var arr = date.split(/[- : \/]/);

if(arr.length < 6){

while(arr.length <= 6){

arr.push(0)

}

}

return arr;

}

var com = function(year){

var birth = fmt_date(year);

var now = new Date(),

year = now.getFullYear(),

month = now.getMonth() + 1,

day = now.getDate();

if(year - birth[0] > 18){

return true;

}else if(year - birth[0] == 18 && month - birth[1] > 0){

return true;

}else if(year - birth[0] == 18 && month - birth[1] == 0 && day - birth[2] > 0){

return true;

}else{

return false;

}

}

console.log(com('1999-09-01'));

console.log(com('1999-08-22'));

console.log(com('1999-08-24'));

console.log(com('1999-08-23'));

发表于 2017-08-23 17:35:21

回复(0)

0

var date = prompt("日期:"); var dateArray; var year; var month; var day; var nowArray; var nowYear; var nowMonth; var nowDay; function isAdult() { if(nowYear-year > 18){ return true; }else if(nowYear-year < 18){ return false; }else{ if(nowMonth>month){ return true; }else if(nowMonth=day){ return true; }else{ return false; } } } } if(date.length!=0) { dateArray = date.split("-"); year = dateArray[0]; month = dateArray[1]; day = dateArray[2]; nowArray = new Date().toLocaleDateString().split("/"); nowYear = nowArray[0]; nowMonth = nowArray[1]; nowDay = nowArray[2]; alert(isAdult()); }

发表于 2017-08-23 14:16:28

回复(0)

0

yearsold : function ( dateStr ) {

const toDay = new Date();

const thisYear = toDay.getFullYear();

const yearNum = parseInt(dateStr.substr(0, 4), 10);

return thisYear - yearNum > ? true : false;

}

发表于 2017-08-22 15:23:28

回复(0)

0

发表于 2017-08-20 18:36:43

回复(0)

0

注意月份要加一。

发表于 2017-08-20 11:31:41

回复(0)

0

function isOld(date){

var time = date.split('-');

var nowTime = new Date();

if(nowTime.getFullYear() - time[0] > 18){

return true;

}else if(nowTime.getFullYear() - time[0] < 18){

return false;

}

if(nowTime.getMonth() + 1 > time[1]){

return true;

}else if(nowTime.getMonth() + 1 < time[1]){

return false;

}

if(nowTime.getDate() >= time[2]){

return true;

}

return false;

}

console.log(isOld('2000-01-05'));

console.log(isOld('1999-02-14'));

console.log(isOld('1999-02-13'));

console.log(isOld('1989-12-26'));

发表于 2017-08-19 18:58:13

回复(0)

0

function isOld_18(str){

var time1=new Date(Date.parse(str));var now=new Date();

if(now.getFullYear()-time1.getFullYear()>18){

return true;

}else if(now.getFullYear()-time1.getFullYear()==18){

if(now.getMonth()-time1.getMonth()>0){

return true;

}else if(now.getMonth()-time1.getMonth()==0){

if(now.getDay()-time1.getDay()>=0){

return true;

}else{

return false;

}

}else{

return false;

}

}else{

return false;

}

}

编辑于 2017-08-19 18:06:52

回复(0)

0

补零操作是干嘛的呢?

发表于 2017-08-19 16:47:00

回复(0)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值