Bootstrap实现登录校验表单(带验证码)

       这个登陆窗口是双登陆窗口的,对IE8及早期版本不支持,可以根据自己的开发语言更换,我这个是asp的,其中的引用文件可以在网络上自行下载,如找不到可以留下邮箱~!

关键代码如下所示:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>
  5. <title>scm登陆界面</title>
  6. <styletype="text/css">
  7. body {
  8. background-color:#999;
  9. }
  10. </style>
  11. <linkrel="stylesheet"href="../bootstrap335/css/bootstrap.min.css">
  12. <linkrel="stylesheet"href="../bootstrap335/css/bootstrapValidator.min.css">
  13. <scriptsrc="../bootstrap335/js/jquery-2.1.4.min.js"></script>
  14. <scriptsrc="../bootstrap335/js/bootstrap.min.js"></script>
  15. <scriptsrc="../bootstrap335/js/bootstrapValidator.min.js"></script>
  16. <% 
  17. Response.Buffer=True 
  18. Response.ExpiresAbsolute=Now()-1 
  19. Response.Expires=0 
  20. Response.CacheControl="no-cache" 
  21. %>
  22. </head>
  23. <body>
  24. <!--
  25. <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
  26. <div class="container-fluid">
  27. <div class="navbar-header">
  28. <a class="navbar-brand" ui-sref=".">******系统 (ver 1.0.0 beta)</a>
  29. </div>
  30. <div class="collapse navbar-collapse" id="navbar-ex1-collapse">
  31. <ul class="nav navbar-nav navbar-right">
  32. <li class="small"><a href="http://www.my80s.cc" target="_blank">80s ©2015-2010</a></li>
  33. </ul>
  34. </div> 
  35. </div>
  36. </nav>-->
  37. <divclass="col-lg-5 col-lg-offset-2">
  38. <divclass="page-header"style="margin-top:5em;">
  39. <h2>******管理系统</h2>
  40. </div>
  41. </div>
  42. <divclass="col-md-offset-4 col-md-4">
  43. <divclass="panel panel-primary"style="margin-top:3em;">
  44. <ulid="myTab"class="nav nav-tabs">
  45. <liclass="active"><ahref="#Prv"data-toggle="tab">供应商登陆</a></li>
  46. <li><ahref="#CPrv"data-toggle="tab">生产商登陆</a></li>
  47. </ul>
  48. <divid="myTabContent"class="tab-content"> 
  49. <divclass="tab-pane fade in active"id="Prv">
  50. <divclass="well well-sm "><h3class="panel-title">
  51. 供应商登陆</h3>
  52. </div>
  53. <divclass="panel-body">
  54. <formname="LoginG"id="LoginG"action="Admin_ChkLogin_G.asp"method="post"target="_parent">
  55. <divclass="form-group">
  56. <divclass="input-group">
  57. <spanclass="input-group-addon">账号</span>
  58. <inputname="Username"type="text"class="form-control"placeholder="Username">
  59. <!--<span class="help-block" id="UsernameMessage" /> -->
  60. </div><br/>
  61. </div><!-- /form-group-->
  62. <divclass="form-group">
  63. <divclass="input-group">
  64. <spanclass="input-group-addon">密码</span>
  65. <inputname="Password"type="Password"class="form-control"placeholder="Password">
  66. <!--<span class="help-block" id="PasswordMessage" /> -->
  67. </div> 
  68. </div><!-- /form-group--> 
  69. <h5>请将如下计算结果填入文本框内:</h5>
  70. <divclass="form-group form-horizontal">
  71. <labelclass="col-lg-3 control-label "id="captchaOperation"></label>
  72. <divclass="col-lg-9">
  73. <inputtype="text"class="form-control "name="captcha"/>
  74. </div>
  75. </div><br/><br/><br/> 
  76. <divclass="form-group">
  77. <inputclass="btn btn-primary btn-block"type="submit"value="登  录"/>
  78. </div>
  79. </form>
  80. </div><!-- /panel-body -->
  81. </div><!-- tab-pane fade in active-->
  82. <divclass="tab-pane fade"id="CPrv">
  83. <divclass="well well-sm"><h3class="panel-title">
  84. 生产商登陆</h3>
  85. </div>
  86. <divclass="panel-body"> 
  87. <formname="LoginS"id="LoginS"action="Admin_ChkLogin_S.asp"method="post"target="_parent">
  88. <divclass="form-group">
  89. <divclass="input-group">
  90. <spanclass="input-group-addon">账号</span>
  91. <inputname="Username2"type="text"class="form-control"placeholder="Username">
  92. <!--<span class="help-block" id="UsernameMessage" /> -->
  93. </div><br/>
  94. </div><!-- /form-group-->
  95. <divclass="form-group">
  96. <divclass="input-group">
  97. <spanclass="input-group-addon">密码</span>
  98. <inputname="Password2"type="Password"class="form-control"placeholder="Password">
  99. <!--<span class="help-block" id="PasswordMessage" /> -->
  100. </div> 
  101. </div><!-- /form-group--> 
  102. <h5>请将如下计算结果填入文本框内:</h5>
  103. <divclass="form-group form-horizontal">
  104. <labelclass="col-lg-3 control-label "id="captchaOperation2"></label>
  105. <divclass="col-lg-9">
  106. <inputtype="text"class="form-control "name="captcha2"/>
  107. </div>
  108. </div><br/><br/><br/> 
  109. <divclass="form-group">
  110. <inputclass="btn btn-primary btn-block"type="submit"value="登  录"/>
  111. </div>
  112. </form>
  113. </div><!-- /panel-body -->
  114. </div><!-- tab-pane fade--> 
  115. </div><!--myTabContent-->
  116. </div>
  117. <scripttype="text/javascript">
  118. $(document).ready(function(){
  119. // Generate a simple captcha
  120. function randomNumber(min, max){
  121. returnMath.floor(Math.random()*(max - min +1)+ min);
  122. };
  123. function generateCaptcha(){
  124. $('#captchaOperation').html([randomNumber(1,50),'+', randomNumber(1,50),'='].join(' '));
  125. };
  126. generateCaptcha();
  127. $('#LoginG')
  128. .bootstrapValidator({
  129. //message: 'This value is not valid',
  130. feedbackIcons:{
  131. valid:'glyphicon glyphicon-ok',
  132. invalid:'glyphicon glyphicon-remove',
  133. validating:'glyphicon glyphicon-refresh'
  134. },
  135. fields:{
  136. Username:{
  137. message:'The username is not valid',
  138. validators:{
  139. notEmpty:{
  140. message:'供货商账户不能为空'
  141. },
  142. stringLength:{
  143. min:5,
  144. max:10,
  145. message:'供货商账号长度 5-10'
  146. },
  147. /*remote: {
  148. url: 'remote.php',
  149. message: 'The username is not available'
  150. },*/
  151. regexp:{
  152. regexp:/^[a-zA-Z0-9_\.]+$/,
  153. message:'只接受数字和字母 '
  154. }
  155. }
  156. },
  157. Password:{
  158. validators:{
  159. notEmpty:{
  160. message:'密码不能为空'
  161. }
  162. }
  163. },
  164. captcha:{
  165. validators:{
  166. callback:{
  167. message:'验证码错误',
  168. callback:function(value, validator){
  169. var items = $('#captchaOperation').html().split(' '), sum = parseInt(items[0])+ parseInt(items[2]);
  170. return value == sum;
  171. }
  172. }
  173. }
  174. }
  175. }
  176. })
  177. .on('error.form.bv',function(e){
  178. var $form = $(e.target),
  179. bootstrapValidator = $form.data('bootstrapValidator');
  180. if(!bootstrapValidator.isValidField('captcha')){
  181. // The captcha is not valid
  182. // Regenerate the captcha
  183. generateCaptcha();
  184. }
  185. });
  186. });
  187. </script>
  188. <scripttype="text/javascript">
  189. $(document).ready(function(){
  190. // Generate a simple captcha
  191. function randomNumber(min, max){
  192. returnMath.floor(Math.random()*(max - min +1)+ min);
  193. };
  194. function generateCaptcha(){
  195. $('#captchaOperation2').html([randomNumber(1,50),'+', randomNumber(1,50),'='].join(' '));
  196. };
  197. generateCaptcha();
  198. $('#LoginS')
  199. .bootstrapValidator({
  200. //message: 'This value is not valid',
  201. feedbackIcons:{
  202. valid:'glyphicon glyphicon-ok',
  203. invalid:'glyphicon glyphicon-remove',
  204. validating:'glyphicon glyphicon-refresh'
  205. },
  206. fields:{
  207. Username2:{
  208. message:'The username is not valid',
  209. validators:{
  210. notEmpty:{
  211. message:'供货商账户不能为空'
  212. },
  213. stringLength:{
  214. min:5,
  215. max:10,
  216. message:'供货商账号长度 5-10'
  217. },
  218. /*remote: {
  219. url: 'remote.php',
  220. message: 'The username is not available'
  221. },*/
  222. regexp:{
  223. regexp:/^[a-zA-Z0-9_\.]+$/,
  224. message:'只接受数字和字母 '
  225. }
  226. }
  227. },
  228. Password2:{
  229. validators:{
  230. notEmpty:{
  231. message:'密码不能为空'
  232. }
  233. }
  234. },
  235. captcha2:{
  236. validators:{
  237. callback:{
  238. message:'验证码错误',
  239. callback:function(value, validator){
  240. var items = $('#captchaOperation2').html().split(' '), sum = parseInt(items[0])+ parseInt(items[2]);
  241. return value == sum;
  242. }
  243. }
  244. }
  245. }
  246. }
  247. })
  248. .on('error.form.bv',function(e){
  249. var $form = $(e.target),
  250. bootstrapValidator = $form.data('bootstrapValidator');
  251. if(!bootstrapValidator.isValidField('captcha')){
  252. // The captcha is not valid
  253. // Regenerate the captcha
  254. generateCaptcha();
  255. }
  256. });
  257. });
  258. </script>
  259. </body>
  260. </html>

猜你喜欢

转载自hugoren.iteye.com/blog/2379223