<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script> //用户名的规则: 第一位是字母,只有由数字与字母 组成,6位。
function checkName(){
//获取到了用户名的值
var userName = document.getElementById("username").value;
var userSpan = document.getElementById("userId");
var reg = /^[a-z][a-z0-9]{5}$/i;
if(reg.test(userName)){
//符合规则
userSpan.innerHTML="正确".fontcolor("green");
return true;
}else{
//不符合规则
userSpan.innerHTML="错误".fontcolor("red");
return false;
}
} //校验密码 6位
function checkPass(){
var password = document.getElementById("pwd").value;
if(password.length>0){
var reg = /^\w{6}$/;
var passSPan = document.getElementById("passId");
if(reg.test(password)){
//符合规则
passSPan.innerHTML="正确".fontcolor("green");
return true;
}else{
//不符合规则
passSPan.innerHTML="错误".fontcolor("red");
return false;
}
} } //检验密码是否正确
function ensurepass(){
var password1 = document.getElementById("pwd").value; //第一次 输入的密码
var password2 = document.getElementById("ensurepwd").value;
if(password2.length>0){
var enSpan = document.getElementById("ensure");
if(password1.valueOf()==password2.valueOf()){
enSpan.innerHTML="正确".fontcolor("green");
return true;
}else{
enSpan.innerHTML="错误".fontcolor("red");
return false;
}
}
} //校验邮箱
function checkEmail(){
var email = document.getElementById("email").value;
var reg = /^[a-z0-9]\w+@[a-z0-9]{2,3}(\.[a-z]{2,3}){1,2}$/i; // .com .com.cn
var emailspan = document.getElementById("emailspan");
alert(reg.test(email));
if(reg.test(email)){
//符合规则
emailspan.innerHTML="正确".fontcolor("green"); return true;
}else{
//不符合规则
emailspan.innerHTML="错误".fontcolor("red");
return false;
}
} //校验兴趣爱好: 至少要算中其中 的 一个。
function checkHoby(){
var likes = document.getElementsByName("like");
var hobySpan =document.getElementById("hobbySpan")
var flag = false;
for(var i = 0 ; i<likes.length ; i++){
if(likes[i].checked){
flag =true;
break;
}
} if(flag){
//符合规则
hobySpan.innerHTML="正确".fontcolor("green");
return true;
}else{
//不符合规则
hobySpan.innerHTML="错误".fontcolor("red");
return false;
}
} //总体校验表单是否可以提交了 如果返回的true表单才可以提交。 上面的表单项必须要每个都填写正确。
function checkForm(){
var userName = checkName();
var pass = checkPass();
var ensure = ensurepass();
var email = checkEmail();
var hoby = checkHoby();
if(userName&&pass&&ensure&&email&&hoby){
return true;
}else{
return false;
} } </script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>正则表达式</title>
</head>
<body>
<form action="success.html" method="get" onsubmit="return checkForm()"> <!--如果表单提交时候触发的方法返回是false,那么该表单不允许提交,如果返回的是true允许提交 -->
<table border="1px" width="50%" align="center" cellspacing="0px" cellpadding="3px">
<tr>
<td width="25%">姓名:</td>
<td>
<input type="text" name="username" id="username" onblur="checkName()"/>
<span id="userId"></span>
</td>
</tr>
<tr>
<td >密码:</td><td>
<input type="password" name="pwd" id="pwd" onblur="checkPass()"/>
<span id="passId"></span>
</td>
</tr>
<tr>
<td>确认密码:</td><td>
<input type="password" name="ensurepwd" id="ensurepwd" onblur="ensurepass()" /> <span id="ensure"></span>
</td>
</tr>
<tr>
<td>邮箱</td><td>
<input type="text" name="email" id="email" onblur="checkEmail()"/>
<span id="emailspan"></span> </td>
</tr>
<tr>
<td>性别</td><td>
<input type="radio" checked="ture" name="gender" id="male" value="male"/>

<input type="radio" name="gender" value="female"/> 女</td>
</tr> <tr>
<td>爱好:</td><td>
<input type="checkbox" checked="checked" name="like" />
eat
<input type="checkbox" name="like" />
sleep
<input type="checkbox" name="like"/>
play
<span id="hobbySpan"></span>
</td>
</tr>
<tr>
<td>城市</td><td>
<select name="city" id="city">
<option value=""> 请选择</option>
<option value="bj"> 北京 </option>
<option value="gz"> 广州 </option>
<option value="sh"> 上海 </option>
</select> </td>
</tr>
<tr>
<td>自我介绍</td><td> <textarea cols="15" rows="5" name="myInfo" id="myInfo"></textarea></td>
</tr>
<tr align="center">
<td colspan="2"><!--提交按钮-->
<input type="submit"/>
</td>
</tr>
</table>
</form>
</body>
</html>

校验表单demo的更多相关文章

  1. jQuery form插件的使用--使用 fieldValue 方法校验表单

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  2. jQuery form插件的使用--用 formData 参数校验表单,验证后提交(简单验证).

    Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 一.引入依赖js <script src=& ...

  3. Spring Boot (一) 校验表单重复提交

    一.前言 在某些情况下,由于网速慢,用户操作有误(连续点击两下提交按钮),页面卡顿等原因,可能会出现表单数据重复提交造成数据库保存多条重复数据. 存在如上问题可以交给前端解决,判断多长时间内不能再次点 ...

  4. javascript将异步校验表单改写为同步表单

    同步表单校验的缺点 响应错误信息时,需要重新加载整个页面(虽然有缓存,客户端仍然需要通过http协议对比每个文件是否有更新,以保持文件最新) 服务器响应错误以后,用户之前所输入的信息全部丢失了,用户需 ...

  5. Spring Boot构建的Web项目如何在服务端校验表单输入

    本文首发于个人网站:Spring Boot构建的Web项目如何在服务端校验表单输入 这个例子用于演示在Spring Boot应用中如何验证Web 应用的输入,我们将会建立一个简单的Spring MVC ...

  6. 使用JavaScript策略模式校验表单

    表单校验 Web项目中,登录,注册等等功能都需要表单提交,当把用户的数据提交给后台之前,前端一般要做一些力所能及的校验,比如是否填写,填写的长度,密码是否符合规范等等,前端校验可以避免提交不合规范的表 ...

  7. jQuery校验 表单验证

    官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery plugin: Validation 使用说明 转载 ...

  8. 使用JS对form的内容验证失败后阻止提交 &&js校验表单后提交表单的三种方法总结

    1.form的两个事件 submit,提交表单,如果直接调用该函数,则直接提交表单 onSubmit,提交按钮点击时先触发,然后触发submit事件.如果不加控制的话,默认返回true,因此表单总能提 ...

  9. 创建简单的表单Demo

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. javascript 元编程之 method_missing

    javascript 元编程之 method_missing 引言 要说元编程 ruby 中技巧太多了,今天来写的这个技术也来自于 ruby 中的灵感. method_missing 这个在 ruby ...

  2. 微信小程序开发(二)创建一个小程序页面

    为了方便讲解,我们将上篇博客创建的小程序除了project.config.json和sitemap.json两个文件保留,其他全部删除(这两个文件存的是小程序的创建信息,删掉会有报错提示). 接下来我 ...

  3. Linux :ssh sftp scp

    SSH 概述 1 SSH协议,Secure Shell ,为客户提供安全的shel环境,默认端口22 OpenSSH服务 服务名称:sshd 主程序:/usr/bin/sshd    /usr/bin ...

  4. 用cubase制作消音伴奏

  5. CSS——字体大小最常用的单位

    px (像素): 将像素的值赋予给你的文本.这是一个绝对单位, 它导致了在任何情况下,页面上的文本所计算出来的像素值都是一样的. ems: 1em 等于我们设计的当前元素的父元素上设置的字体大小 (更 ...

  6. 基于Hexo的个人博客搭建(下)

    5.服务器端测试 —5.1 clone到/var/www/html git clone /home/git/repos/myblog.git /var/www/html chown -R  git:g ...

  7. ChromePassword

    # -*- coding: utf-8 -*- 2# @Author : pwf 3 4# @Date : 2019/5/18 22:53 5# Software : PyCharm 6# versi ...

  8. 将 对象序列化与反序化 (json格式)

    实体类 package com.nf.redisDemo1.entity; public class News { private long id; private String title; pri ...

  9. 编译gpu集群版caffe

    在这个版本安装之前,要先装好opencv,openmpi等. 下载地址:https://github.com/yjxiong/caffe.git 我的opencv是2.4.12版本 编译是用了: cm ...

  10. c++使用初始化列表来初始化字段

    #include<iostream> using namespace std; class Student1 { private: int _a; int _b; public: void ...