• JavaScript_表单校验用户名和密码


    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>注册页面title>
    6. <style>
    7. *{
    8. margin: 0px;
    9. padding: 0px;
    10. box-sizing: border-box;
    11. }
    12. body{
    13. background: url("img/register_bg.png") no-repeat center;
    14. padding-top: 25px;
    15. }
    16. .rg_layout{
    17. width: 900px;
    18. height: 500px;
    19. border: 8px solid #EEEEEE;
    20. background-color: white;
    21. /*让div水平居中*/
    22. margin: auto;
    23. }
    24. .rg_left{
    25. /*border: 1px solid red;*/
    26. float: left;
    27. margin: 15px;
    28. }
    29. .rg_left > p:first-child{
    30. color:#FFD026;
    31. font-size: 20px;
    32. }
    33. .rg_left > p:last-child{
    34. color:#A6A6A6;
    35. font-size: 20px;
    36. }
    37. .rg_center{
    38. float: left;
    39. /* border: 1px solid red;*/
    40. }
    41. .rg_right{
    42. /*border: 1px solid red;*/
    43. float: right;
    44. margin: 15px;
    45. }
    46. .rg_right > p:first-child{
    47. font-size: 15px;
    48. }
    49. .rg_right p a {
    50. color:pink;
    51. }
    52. .td_left{
    53. width: 100px;
    54. text-align: right;
    55. height: 45px;
    56. }
    57. .td_right{
    58. padding-left: 50px ;
    59. }
    60. #username,#password,#email,#name,#tel,#birthday,#checkcode{
    61. width: 251px;
    62. height: 32px;
    63. border: 1px solid #A6A6A6 ;
    64. /*设置边框圆角*/
    65. border-radius: 5px;
    66. padding-left: 10px;
    67. }
    68. #checkcode{
    69. width: 110px;
    70. }
    71. #img_check{
    72. height: 32px;
    73. vertical-align: middle;
    74. }
    75. #btn_sub{
    76. width: 150px;
    77. height: 40px;
    78. background-color: #FFD026;
    79. border: 1px solid #FFD026 ;
    80. }
    81. .error{
    82. color:red;
    83. }
    84. #td_sub{
    85. padding-left: 150px;
    86. }
    87. style>
    88. <script>
    89. /**
    90. * 分析:
    91. * 1、给表单绑定onsubmit事件。监听器中判断每一个方法校验的结果。
    92. * 如果都为true,则监听器方法返回true
    93. * 如果有一个为false,则监听器方法返回false
    94. * 2、定义一些方法分别校验各个表单项
    95. * 3、给各个表单项绑定onblur事件
    96. */
    97. window.onload = function () {
    98. //1、给表单绑定onsubmit事件
    99. document.getElementById("form").onsubmit = function () {
    100. //调用用户名校验方法 checkUsername();
    101. //调用密码校验方法 checkPassword();
    102. return checkUsername()&&checkPassword();
    103. };
    104. //给用户名和密码框分别绑定离焦事件
    105. document.getElementById("username").onblur = checkUsername;
    106. document.getElementById("username").onblur = checkPassword;
    107. };
    108. //校验用户名
    109. function checkUsername() {
    110. //1、获取用户名的值
    111. let username = document.getElementById("username").value;
    112. //2、定义正则表达式
    113. let reg_username = /^\w{6,12}$/;
    114. //3、判断值是否符合正则的规则
    115. let flag = reg_username.test(username);
    116. //4、提示信息
    117. let s_username = document.getElementById("s_username");
    118. if (flag) {
    119. //提示绿色对勾
    120. s_username.innerHTML = "";
    121. } else {
    122. //提示红色用户名有误
    123. s_username.innerHTML = "用户名格式有误";
    124. }
    125. return flag;
    126. }
    127. //校验密码
    128. function checkPassword() {
    129. //1、获取用户名的值
    130. let password = document.getElementById("password").value;
    131. //2、定义正则表达式
    132. let reg_password = /^\w{6,12}$/;
    133. //3、判断值是否符合正则的规则
    134. let flag = reg_password.test(password);
    135. //4、提示信息
    136. let s_password = document.getElementById("s_password");
    137. if (flag) {
    138. //提示绿色对勾
    139. s_password.innerHTML = "";
    140. } else {
    141. //提示红色用户名有误
    142. s_password.innerHTML = "密码格式有误";
    143. }
    144. return flag;
    145. }
    146. script>
    147. head>
    148. <body>
    149. <div class="rg_layout">
    150. <div class="rg_left">
    151. <p>新用户注册p>
    152. <p>USER REGISTERp>
    153. div>
    154. <div class="rg_center">
    155. <div class="rg_form">
    156. <form action="#" id="form" method="get">
    157. <table>
    158. <tr>
    159. <td class="td_left"><label for="username">用户名label>td>
    160. <td class="td_right">
    161. <input type="text" name="username" id="username" placeholder="请输入用户名">
    162. <span id="s_username" class="error">span>
    163. td>
    164. tr>
    165. <tr>
    166. <td class="td_left"><label for="password">密码label>td>
    167. <td class="td_right">
    168. <input type="password" name="password" id="password" placeholder="请输入密码">
    169. <span id="s_password" class="error">span>
    170. td>
    171. tr>
    172. <tr>
    173. <td class="td_left"><label for="email">Emaillabel>td>
    174. <td class="td_right"><input type="email" name="email" id="email" placeholder="请输入邮箱">td>
    175. tr>
    176. <tr>
    177. <td class="td_left"><label for="name">姓名label>td>
    178. <td class="td_right"><input type="text" name="name" id="name" placeholder="请输入姓名">td>
    179. tr>
    180. <tr>
    181. <td class="td_left"><label for="tel">手机号label>td>
    182. <td class="td_right"><input type="text" name="tel" id="tel" placeholder="请输入手机号">td>
    183. tr>
    184. <tr>
    185. <td class="td_left"><label>性别label>td>
    186. <td class="td_right">
    187. <input type="radio" name="gender" value="male" checked>
    188. <input type="radio" name="gender" value="female">
    189. td>
    190. tr>
    191. <tr>
    192. <td class="td_left"><label for="birthday">出生日期label>td>
    193. <td class="td_right"><input type="date" name="birthday" id="birthday" placeholder="请输入出生日期">td>
    194. tr>
    195. <tr>
    196. <td class="td_left"><label for="checkcode" >验证码label>td>
    197. <td class="td_right"><input type="text" name="checkcode" id="checkcode" placeholder="请输入验证码">
    198. <img id="img_check" src="img/verify_code.jpg">
    199. td>
    200. tr>
    201. <tr>
    202. <td colspan="2" id="td_sub"><input type="submit" id="btn_sub" value="注册">td>
    203. tr>
    204. table>
    205. form>
    206. div>
    207. div>
    208. <div class="rg_right">
    209. <p>已有账号?<a href="#">立即登录a>p>
    210. div>
    211. div>
    212. body>
    213. html>
    1. let reg_username = /^\w{6,12}$/;
    2. 当您在浏览器的控制台中输入代码示例时,它将定义一个名为reg_username的变量,并将其设置为一个正则表达式。
    3. 该正则表达式由以下几个部分组成:
    4. - ^:匹配字符串的开头
    5. - \w:匹配一个字母、数字或下划线
    6. - {6,12}:指认由612个\w字符组成的重复次数
    7. - $:匹配字符串的结尾 因此,该正则表达式用于匹配由612个字符、数字和下划线组成的字符串。
    8. 例如,reg_username.test("abcdefg1234567890)”将返回true,
    9. 而reg_username.test("12345")将返回false。

     

  • 相关阅读:
    Java 工程师面试题汇总,全会月薪至少 3W
    Hystrix原理
    计算机毕业设计Java教师管理系统(源码+系统+mysql数据库+lw文档)
    Dockerfile(3) - WORKDIR 指令详解
    【方法】PDF不能转换成其它格式如何解决?
    Java-类和对象
    Linxu 【vim】
    springboot项目nacos作为配置中心
    SpringMVC 写个 HelloWorld
    深度探讨react-hooks实现原理
  • 原文地址:https://blog.csdn.net/m0_65152767/article/details/134406874