JS类似激活码验证,激活码验证一次失效

cheado 2018-12-08 01:36:01

var a = new Array[
'111','222','333','444','555','666'
];
var b = a.indexOf(input.value);
if(b == '-1'){
alert("您输入的激活码无效!");
input.value = "";
input.focus();
return false;
}else{
a.splice(b,1); //这里判断激活码正确就删掉数组中刚输入过的那一个,但是好像哪里不对,小白求解或者有什么正确的思路吗?感谢!
}
...全文
257 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2018-12-09
  • 打赏
  • 举报
回复
那你应该把激活码存放在后台服务器端的数据库中。在服务器端验证激活码,并从数据库中删除。 而不应该把激活码都放前端js中,在前端验证激活码。
cheado 2018-12-09
  • 打赏
  • 举报
回复
引用 7 楼 天际的海浪的回复:
那你应该把激活码存放在后台服务器端的数据库中。在服务器端验证激活码,并从数据库中删除。 而不应该把激活码都放前端js中,在前端验证激活码。
恩,如果是只要前端实现这个有什么途径吗我想研究一下
天际的海浪 2018-12-09
  • 打赏
  • 举报
回复
引用 8 楼 cheado 的回复:
[quote=引用 7 楼 天际的海浪的回复:]那你应该把激活码存放在后台服务器端的数据库中。在服务器端验证激活码,并从数据库中删除。 而不应该把激活码都放前端js中,在前端验证激活码。
恩,如果是只要前端实现这个有什么途径吗我想研究一下[/quote] 只用前端不可能做到对不同用户共同维护一份数据
cheado 2018-12-08
  • 打赏
  • 举报
回复
引用 5 楼 天际的海浪的回复:
[quote=引用 4 楼 cheado 的回复:] [quote=引用 3 楼 天际的海浪的回复:][quote=引用 2 楼 cheado 的回复:] [quote=引用 1 楼 天际的海浪 的回复:] a数组应该是 var a = new Array('111','222','333','444','555','666'); 或者 var a = ['111','222','333','444','555','666']; 并且要是全局变量,不要放函数里
我把数组改为全局变量,函数执行完成之后,激活码如果输入111,确认后则应该删除a数组里面的111,怎么能让脚本自动删除掉数组里用过的激活码呢[/quote] a.splice(b,1);不就是删除数组里用过的激活码么[/quote] 删除不了啊,代码跑一边之后111还在数组里面[/quote] 如果是全局变量应该没问题,你是不是刷新页面了。 注意,<button></button>按钮在form标签中默认是提交表单(刷新页面)的。 [/quote] 是啊就是要刷新页面啊,项目是类似推广页,会有不同用户来激活,要保证激活码的唯一性。这个有什么办法解决吗?
天际的海浪 2018-12-08
  • 打赏
  • 举报
回复
引用 4 楼 cheado 的回复:
[quote=引用 3 楼 天际的海浪的回复:][quote=引用 2 楼 cheado 的回复:] [quote=引用 1 楼 天际的海浪 的回复:] a数组应该是 var a = new Array('111','222','333','444','555','666'); 或者 var a = ['111','222','333','444','555','666']; 并且要是全局变量,不要放函数里
我把数组改为全局变量,函数执行完成之后,激活码如果输入111,确认后则应该删除a数组里面的111,怎么能让脚本自动删除掉数组里用过的激活码呢[/quote] a.splice(b,1);不就是删除数组里用过的激活码么[/quote] 删除不了啊,代码跑一边之后111还在数组里面[/quote] 如果是全局变量应该没问题,你是不是刷新页面了。 注意,<button></button>按钮在form标签中默认是提交表单(刷新页面)的。
cheado 2018-12-08
  • 打赏
  • 举报
回复
引用 3 楼 天际的海浪的回复:
[quote=引用 2 楼 cheado 的回复:] [quote=引用 1 楼 天际的海浪 的回复:] a数组应该是 var a = new Array('111','222','333','444','555','666'); 或者 var a = ['111','222','333','444','555','666']; 并且要是全局变量,不要放函数里
我把数组改为全局变量,函数执行完成之后,激活码如果输入111,确认后则应该删除a数组里面的111,怎么能让脚本自动删除掉数组里用过的激活码呢[/quote] a.splice(b,1);不就是删除数组里用过的激活码么[/quote] 删除不了啊,代码跑一边之后111还在数组里面
cheado 2018-12-08
  • 打赏
  • 举报
回复
引用 1 楼 天际的海浪 的回复:
a数组应该是 var a = new Array('111','222','333','444','555','666'); 或者 var a = ['111','222','333','444','555','666']; 并且要是全局变量,不要放函数里
我把数组改为全局变量,函数执行完成之后,激活码如果输入111,确认后则应该删除a数组里面的111,怎么能让脚本自动删除掉数组里用过的激活码呢
天际的海浪 2018-12-08
  • 打赏
  • 举报
回复
引用 2 楼 cheado 的回复:
[quote=引用 1 楼 天际的海浪 的回复:] a数组应该是 var a = new Array('111','222','333','444','555','666'); 或者 var a = ['111','222','333','444','555','666']; 并且要是全局变量,不要放函数里
我把数组改为全局变量,函数执行完成之后,激活码如果输入111,确认后则应该删除a数组里面的111,怎么能让脚本自动删除掉数组里用过的激活码呢[/quote] a.splice(b,1);不就是删除数组里用过的激活码么
天际的海浪 2018-12-08
  • 打赏
  • 举报
回复
a数组应该是 var a = new Array('111','222','333','444','555','666'); 或者 var a = ['111','222','333','444','555','666']; 并且要是全局变量,不要放函数里

87,915

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧