1. function checkUsername(){
  2. //对username的内容进行验证。
  3. //要求:首字符是字母或下划线,其他由下划线字母数字组成,共4-20位
  4. var inputOb=document.getElementsByName('username')[0];
  5. var v=inputOb.value;
  6. if(/^[_a-zA-Z]\w{3,19}$/.test(v)){
  7. showMessage("用户名正确",'username');
  8. return true;
  9. }else{
  10. showMessage("用户名错误",'username');
  11. return false;
  12. }
  13. }
  14. function checkPassword(){
  15. //要求:数字字母_ 6-20
  16. var v=document.getElementsByName('pw')[0].value;
  17. if(/^\w{6,20}$/.test(v)){
  18. showMessage("密码正确",'pw');
  19. return true;
  20. }else{
  21. showMessage("密码错误",'pw');
  22. return false;
  23. }
  24. }
  25. function checkRePassword(){
  26. //两次输入密码是否一致
  27. var v=document.getElementsByName('pw')[0].value;
  28. var v1=document.getElementsByName('pw1')[0].value;
  29. if(v==v1){
  30. showMessage('两次密码一致','pw1');
  31. return true;
  32. }else{
  33. showMessage('两次密码不一致','pw1');
  34. return false;
  35. }
  36. }
  37. function checkEmail(){
  38. //得到email框的内容
  39. var v=document.getElementsByName('email')[0].value;
  40. //验证,提示
  41. if(/^\w+@\w+(\.\w+)+$/.test(v)){
  42. showMessage('邮箱格式正确','email');
  43. return true;
  44. }else{
  45. showMessage('邮箱格式错误','email');
  46. return false;
  47. }
  48. }
  49. function checkTel(){
  50. //得到email框的内容
  51. var v=document.getElementsByName('tel')[0].value;
  52. //验证,提示
  53. if(/^1[34578]\d{9}$/.test(v)){
  54. showMessage('电话格式正确','tel');
  55. return true;
  56. }else{
  57. showMessage('电话格式错误','tel');
  58. return false;
  59. }
  60. }
  61. function checkForm(){
  62. if(checkUsername()&&checkPassword()&&checkRePassword()&&checkEmail()&&checkTel()){
  63. return true;
  64. }else{
  65. return false;
  66. }
  67. }
  68. //信息提示
  69. function showMessage(message,elementName){
  70. //创建div
  71. var divOb=document.createElement('div');
  72. divOb.innerHTML=message;
  73. //获取elementName的右上角位置
  74. var cOb=document.getElementsByName(elementName)[0];
  75. var T=cOb.offsetTop;
  76. var L=cOb.offsetLeft+cOb.offsetWidth;
  77. //把td中的div全部去掉
  78. var divList=cOb.parentNode.getElementsByTagName('div');
  79. for(var i=divList.length-1;i>=0;i--){
  80. cOb.parentNode.removeChild(divList[i]);
  81. }
  82. cOb.parentNode.insertBefore(divOb,cOb);
  83. cOb.parentNode.style.position='relative';
  84.  
  85. divOb.style.position='absolute';
  86. divOb.style.zIndex=1000;
  87. divOb.style.left=L+"px";
  88. divOb.style.top=T+"px";
  89. divOb.style.border="1px solid orange"
  90. divOb.style.padding='1px 3px';
  91. divOb.style.fontSize="12px";
  92. }

表单

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <title>Insert title here</title>
  6. <style type="text/css">
  7. *{padding:0;margin:0;}
  8. table{margin:20px auto;}
  9. </style>
  10. <script type="text/javascript" src="js/checkForm.js"></script>
  11. </head>
  12. <body>
  13. <form action="save.php" method="post" onsubmit="return checkForm();">
  14. <table border=0 cellpadding=0 cellspacing=0 width=90% align="center">
  15. <tr>
  16. <td height="60" colspan="2">
  17. <h1>会员注册</h1>
  18. </td>
  19. </tr>
  20. <tr>
  21. <td class="c1">用户名:</td>
  22. <td><input onchange="checkUsername();" type="text" name="username"/></td>
  23. </tr>
  24. <tr>
  25. <td class="c1">密码:</td>
  26. <td><input onchange="checkPassword();" type="password" name="pw"/></td>
  27. </tr>
  28. <tr>
  29. <td class="c1">重复密码:</td>
  30. <td><input onchange="checkRePassword();" type="password" name="pw1"/></td>
  31. </tr>
  32. <tr>
  33. <td class="c1">邮箱:</td>
  34. <td><input onchange="checkEmail();" type="text" name="email"/></td>
  35. </tr>
  36. <tr>
  37. <td class="c1">性别:</td>
  38. <td>
  39. <input type="radio" name="sex" value="男"/><br/>
  40. <input type="radio" name="sex" value="女"/><br/>
  41. <input type="radio" name="sex" value="保密" checked="checked"/>保密
  42. </td>
  43. </tr>
  44. <tr>
  45. <td class="c1">爱好:</td>
  46. <td>
  47. <input type="checkbox" name="like[]" value='1'/>篮球<br/>
  48. <input type="checkbox" name="like[]" value='2'/>足球<br/>
  49. <input type="checkbox" name="like[]" value='3'/>羽毛球
  50. </td>
  51. </tr>
  52. <tr>
  53. <td class="c1">电话:</td>
  54. <td><input onchange="checkTel()" type="text" name="tel"/></td>
  55. </tr>
  56. <tr>
  57. <td class="c1">简介:</td>
  58. <td>
  59. <textarea name="intro" cols="60" rows="6"></textarea>
  60. </td>
  61. </tr>
  62. <tr>
  63. <td colspan="2"><input type="submit" value="注册"/></td>
  64. </tr>
  65. </table>
  66. </form>
  67. </body>
  68. </html>

javascript表单验证的例子的更多相关文章

  1. javascript:正则表达式、一个表单验证的例子

    本文内容: 正则表达式 正则表达式的使用方法 正则表达式的特殊匹配字符 正则表达式修饰符 利用正则表达式进行表单验证的例子 首发日期:2018-05-13 正则表达式: 正则表达式的使用方法: 首先创 ...

  2. JavaScript表单验证年龄

    JavaScript表单验证年龄,判断一个输入量是否符合年龄,通过正则表达式实现. //检查年龄 function isAge(str){ var mydate=new Date; var now=m ...

  3. 前端工具 - 15个最佳的 JavaScript 表单验证库

    客户端验证在任何项目都是不够的,因为 JavaScript 可以直接忽略,人们可以提交请求到服务器. 然而这并不意味着客户端验证都没必要了,很多时候我们需要在用户提交到服务器之前给予提示.JavaSc ...

  4. JavaScript表单验证和正则表达式

    JavaScript表单验证 分为四类: 1.非空验证 常用于用户名等 2.相等验证 常用于验证两次输入的密码 3.范围验证 常用于年龄等 4.正则验证 用于手机号,邮箱号等 以下是实例: <! ...

  5. 使用 WTForms 进行表单验证的例子

    #使用 WTForms 进行表单验证的例子 from wtforms import Form from wtforms import BooleanField from wtforms import ...

  6. 15个最佳的 JavaScript 表单验证库

    客户端验证在任何项目都是不够的,因为 JavaScript 可以直接忽略,人们可以提交请求到服务器. 然而这并不意味着客户端验证都没必要了,很多时候我们需要在用户提交到服务器之前给予提示.JavaSc ...

  7. JavaScript 表单验证入门

    JavaScript 表单验证 JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证. 被 JavaScript 验证的这些典型的表单数据有: 用户是否已填写表单 ...

  8. JavaScript 表单验证 案例

    JavaScript 表单验证 案例 版权声明:未经授权,严禁转载!   编写 HTML 文件,搭建主体界面 <html> <head> <meta charset=&q ...

  9. 10个强大的Javascript表单验证插件推荐

    创建一个JavaScript表单验证插件,可以说是一个繁琐的过程,涉及到初期设计.开发与测试等等环节.实际上一个优秀的程序员不仅是技术高手,也应该是善假于外物的.本文介绍了10个不错的JavaScri ...

随机推荐

  1. C#的一些代码

    form读取配置文件 /// <summary> /// 读取配置文件 /// </summary> /// <param name="key"> ...

  2. PIC16F877A的TIME0学习

    计算溢出时间根据晶振频率4Mhz,TMR0=6,PSA2~PSA0 = 1:4. 因为好像外部晶振在给PIC的时候多分了一次1:4.所以PSA2~PSA0取1:4刚好 数完250次的时间=(1/4Mh ...

  3. hdu 3060 Area2 (计算几何模板)

    Problem Description 小白最近又被空军特招为飞行员,参与一项实战演习.演习的内容还是轰炸某个岛屿(这次的岛屿很大,很大很大很大,大到炸弹怎么扔都能完全在岛屿上引爆),看来小白确实是飞 ...

  4. 处理post上传的文件;并返回路径

    /** * 处理post上传的文件:并返回路径 * @param string $path 字符串 保存文件路径示例: /Upload/image/ * @param string $format 文 ...

  5. Docker Machine 管理-管理machine(17)

    用 docker-machine 创建 machine 的过程很简洁,非常适合多主机环境.除此之外,Docker Machine 也提供了一些子命令方便对 machine 进行管理.其中最常用的就是无 ...

  6. NTFS文件系统

    一.Volume和Cluster 卷(Volume)和簇(Cluster)是NTFS用来描述物理磁盘的单位. 卷之间是相对独立的,卷的概念其实就是分区(Partition). 簇的引入是为了方便处理不 ...

  7. camunda流程实例启动的一些简单操作

    public class ZccRuntimeService { RuntimeService runtimeService; RepositoryService repositoryService; ...

  8. mvnw简介

  9. 跨域Ajax请求时是否带Cookie的设置

    1. 无关Cookie跨域Ajax请求 客户端 以 Jquery 的 ajax 为例: $.ajax({ url : 'http://remote.domain.com/corsrequest', d ...

  10. 在vim中设置tab缩进为4个字符

    编辑一个文件,进入之后一次输入 [esc] --> [ : ] --> [ set ts=4 ]vim aaa.txt