大家好,才是真的好。几天没见,很是想念。首先,我觉得应该换换文首的动图,但我居然没找到我新做的动图——可能我还没做吧。其次,上周新闻写得很多,这周我们就来点硬货。今天我们写写Web登陆页怎么加验证码功能。对,和标题是一样的,就算是点题。

嗯,没有分割线,但以下为严肃的技术内容。

在Domino中开启了会话验证,并创建了Domcfg.nsf数据库,Web验证登陆时便会出现以下表单界面:

在此基础上,我们加了一个验证码,效果如下:

如不输入验证码或验证码错误,当我们点击登陆按钮,则会出现相应的提示,比如“请您输入验证码”,如下图:
是不是已经实现了验证码的功能?好,今天我们的内容就到此结束。

但,其实还没有,这只是我实现的功能,你们还没有实现。

关于怎么创建domcfg.nsf我们不说,直接看图

图很大,应该看得很清楚。另外的步骤是开启Domino中的Web会话验证,这个就真不截图了。

我们继续回来主线,打开domcfg.nsf数据库之后,找到表单$$LoginUserForm双击打开

在表格中多追加两行,然后添加

和,用来显示验证码和提示的文字信息;另外,把提交按钮改为标签,最后效果如下图所示:

别忘了,如果提交按钮没了,系统可能会自动生成一个按钮放到左下角,所以我们得注释掉这个按钮,办法是写上,然后选择"文本"菜单->“内置HTML”,效果如下图:

重头戏来了,我们在JS Header中要添加生成验证码的JS代码,如下图

详细代码如下:
//页面加载时,生成随机验证码//生成验证码的方法function createCode(length) {var code = "";var codeLength = parseInt(length); //验证码的长度var checkCode = document.getElementById("checkCodeChar");所有候选组成验证码的字符,当然也可以用中文的var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); //循环组成验证码的字符串for (var i = 0; i < codeLength; i++){//获取随机验证码下标var charNum = Math.floor(Math.random() * 62);//组合成指定字符验证码code += codeChars[charNum];}if (checkCode){//为验证码区域添加样式名checkCode.className = "code";//将生成验证码赋值到显示区checkCode.innerHTML = code;}}//检查验证码是否正确function validateCode(){//获取显示生成的验证码var checkCode = document.getElementById("checkCode").innerHTML;//获取输入的验证码var inputCode = document.getElementById("inputCode").value;//console.log(checkCode);//console.log(inputCode);if (inputCode.length <= 0){alert("请输入验证码!");return false}else if (inputCode.toUpperCase() != checkCode.toUpperCase()){alert("验证码输入有误!");createCode(4);return false}else{return true}
};//登陆时调用
function login()
{
var thisform=document.forms[0];if(thisform.Username.value=="") {
thisform.Username.focus();
alert("请您输入用户名");
} else if(thisform.Password.value=="") {
thisform.Password.focus();
alert("请您输入密码");
}
else if(thisform.inputCode.value==""){
alert("请您输入验证码");
}else {
thisform.submit();
}
}

代码是够长的,不过只需要粘贴复制,所以特别简单。

还有一个步骤就能看到效果,便是在表单的onload事件中写上"createCode(4)";如果要创建6位验证码,就请写createCode(6),但如验证码太长,会被用户打——这样,表单加载时生成验证码;

还有把HTML Body Attributes事件中的代码清干净,不用问为什么,你试试就知道。听人劝,吃饱饭。

好了,摩拳擦掌,现在可以看看效果了。

嗯,不错,但有点丑,还得加点样式进去。把下列样式表加到表单上,内置为HTML,如下图:

CSS样式也贴给大家

<style>.code{font-family:Arial;font-style:italic;color:blue;font-size:30px;border:0;padding:2px 3px;letter-spacing:3px;font-weight:bolder;            float:left;           cursor:pointer;width:100px;height:30px;line-height:30px;text-align:center;vertical-align:middle;background-color:#D8B7E3;}span {text-decoration:none;font-size:12px;color:#288bc4;padding-left:10px;}span:hover {text-decoration:underline;cursor:pointer;}
</style>

好看一点的效果就出现了

这种简单的基于JavaScript的验证码方式是不是很容易实现?你也许可以做得更好,也许——还做不出来。

最后,还有一个彩蛋,那就是我共享了一篇Notes Domino为什么这么特别的PPT,有兴趣可下载https://pan.baidu.com/s/1DrFaxMAqa0Fh22cFBVZLxw

好了,今天我们就写到这里,下面真的没有内容了。但请继续保持关注。

更多精彩内容请关注微信公众号“协作者”

原文地址:https://mp.weixin.qq.com/s/krGDyi-7VU70c4yEXRZOTg

为Web登陆添加验证码功能相关推荐

  1. element-plus+vite+guiplan注册页面添加验证码功能

    element-plus+vite+guiplan注册页面添加验证码功能 element-plus+vite+guiplan注册页面添加验证码功能 介绍 步骤 总结 element-plus+vite ...

  2. html表单输入框添加验证码,织梦Dedecms为自定义表单添加验证码功能

    使用织梦Dedecms自定义表单的时候,即使你做了字段的验证,也很有可能被人刷很多垃圾的内容,更加安全的一个方法是为自定义表单添加上验证码功能.今天我就来为大家分享一下怎样给自定义表单添加验证码! 一 ...

  3. php防止恶意注册,WordPress防恶意注册-添加验证码功能 | 逗哥-架构师之路

    WordPress注册用户添加验证码,我这种小博客基本很少用到给网友注册用户的,登录后台添加验证码,找回密码添加验证码文章都写了,拽立网,也不差这个注册用户添加验证码文章了,大概差不多只需要一串代码就 ...

  4. 织梦搜索添加验证码功能

    织梦搜索添加验证码实现教程 1.模板文件搜索框代码里加入验证码输入框 验证码:<input type="text" name="validate"> ...

  5. django admin 登陆快速添加验证码功能

    1. 安装包 pip install django-multi-captcha-admin django-simple-captcha 2. setting.py INSTALLED_APPS = [ ...

  6. java输入验证码代码,JavaWeb 实现验证码功能(demo)

    验证码不用多说,在 WEB-APP 中一般应用于:登录.注册.买某票.秒杀等场景.大家都接触过~可以说是千奇百怪,各式各样. DEMO 目标功能 验证码页面输入. 页面更换验证码(异步实现). 后台验 ...

  7. cas 4.1.5 添加验证码 亲测成功

    转自 http://blog.csdn.net/attackmind/article/details/52052502 1.在cas工程的web.xml增加验证码功能的支持: <!-- 验证码功 ...

  8. cas服务器登录页面添加验证码

    本文的是以cas-4.1.5进行的,cas源代码下载官网:https://apereo.github.io/cas/4.2.x/index.html. 1.在cas工程的web.xml增加验证码功能的 ...

  9. Java web发送邮箱验证码,并验证正确性

    Java web实现邮箱验证码功能 第一步.开启发件邮箱权限(以QQ邮箱为例) 第二步.生成验证码 第三步.发送邮件 第四步.web前端 第五步.servlet程序 先放一张程序的预览图 工程下载链接 ...

  10. java生成验证码实例_Java生成验证码功能实例代码

    页面上输入验证码是比较常见的一个功能,实现起来也很简单.给大家写一个简单的生成验证码的示例程序,需要的朋友可以借鉴一下. 闲话少续,直接上代码.代码中的注释很详细. package com.SM_te ...

最新文章

  1. python+opencv选出视频中一帧再利用鼠标回调实现图像上画矩形框
  2. python standard lib_跟Python Standard Library混个脸熟(一)
  3. redhat php5 安装,完整的linux(RedHat)+php5.3.10+mysql5.5.19+apache2.2.22安装配置说明
  4. Linux命令【三】gcc编译+静态库+动态库+makefile+gdb调试
  5. python识别手写文字_如何快速使用Python神经网络识别手写字符?(文末福利)
  6. LSTM和GRU介绍
  7. 正在等待缓存锁:无法获得锁_一句话说清分布式锁,进程锁,线程锁
  8. outlook 让附件在正文中显示 (REF rich リッチ)
  9. 个人项目——机智云开源APP基础修改教程(Android)
  10. npcap关闭_npcap是什么软件
  11. 解除谷歌浏览器默认禁止音频自动播放
  12. mac连接iphone闪断解决办法
  13. X电容Y电容如何选择与使用
  14. 手势识别整体设计流程方案
  15. OTP动态密码_Java代码实现
  16. Fuchsia编译系统的GN结构
  17. [转载]Java Web 服务,第 1 部分: Java Web 服务在未来一年内的发展
  18. LateX使用笔记(持续更新)
  19. Materials Studio建模——异质结的建立(2)
  20. 一位苦读6年终于毕业的博士说出了读博的四个陷阱

热门文章

  1. python开头编码cc手_python的编码问题整理
  2. 什么是情感化设计?UI设计中情感化设计的目的
  3. 磁盘分区被格式化了,格式化之前的文件恢复方法
  4. 服装ERP软件有哪些优点?
  5. 浅析TVS管的响应时间与TVS管伏安特性曲线
  6. Unity Shader 法线贴图原理解析
  7. 什么音频剪辑软件好用?
  8. 华为鸿蒙电视保修终身,华为全新鸿蒙OS新品来了!刷新电视“N年不变”固有认知...
  9. built a JNCIS LAB系列:Chapter 1 Routing Policy
  10. php手册chm打开空白