有没有人有任何关于如何实现基于jQuery或javascript的年龄检查器的可靠示例?我希望将某人发送到他们需要在日,月和年进入的页面,每天至少一次他们点击网站上的任何页面。一旦他们确认为18,那么如果他们返回,他们将不会再次被纠缠,直到第二天。
有什么想法吗?
答案 0 :(得分:4)
基于cookie的解决方案似乎合乎逻辑,因为您可以通过编程方式从JavaScript修改它们,并且可以设置它们的到期时间。在纯JavaScript中计算日期可以这样完成:
var millisPerYear = 1000 * 60 * 60 * 24 * 365;
var birthdate = new Date(year, month, day); // from user input.
var age = ((new Date().getTime()) - birthdate.getTime()) / millisPerYear;
// Now set the "age" cookie.
剩下的就是服务器端响应处理程序根据请求代理中“age”cookie的值有条件地返回内容。
答案 1 :(得分:0)
网上似乎有许多用于实现类似功能的现有资源。所有这些都创建了一个cookie,其中包含由用户持有的出生日选择器,并且可以设置为在一天后过期。显然,如果您的用户没有启用Cookie,这可能会出现问题。以下是几个例子。
http://www.webdesignforums.net/php-67/age_verification_script-30188/index2.html
答案 2 :(得分:-1)
有一个名为DateJS的精彩日期库。它使日期操作非常简单。
当然,您的第一步是解析提供的日期。 DateJS提供了许多解析功能,例如:
Date.parse("Mar 3 2010");
Date.parse('March 20th 1973');
Date.parse("03 12 2010");
解析完日期后,您可以将其与18年前的日期进行比较。使用DateJS
也很容易var userBDay = Date.parse("Mar 3 1970");
var eighteenYearsAgo = (18).years().ago();
var is18 = (userBDay >= eighteenYearsAgo);
您当然假设用户是诚实的。更不用说JS可以被禁用,或者修改客户端。但这是一个完全不同的讨论。
编辑:忘了你提到每天只进行一次验证。这需要: