- 浏览: 280316 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (251)
- 面试基础 (9)
- java基础 (40)
- 调试配置 (10)
- 转载文章 (4)
- 心灵鸡汤 (8)
- java工具 (6)
- CSS学习 (7)
- css案例 (2)
- 经济 (1)
- 小节惹的祸 (1)
- 实例心得 (21)
- 数据库 (7)
- 有用的代码 (17)
- Struts (3)
- Hibernate (5)
- Spring (3)
- java xml (7)
- Java Reflection API (1)
- 网络配置 (4)
- SSH (8)
- java开源框架 (13)
- ajax (4)
- swing (1)
- 设计模式 (1)
- 未主流组件 (7)
- WebService (6)
- 20111019 (1)
- xiao清讲课笔笔~~~UML (0)
- 笔记 (2)
- SOAP (9)
- 第一天遇到的问题 (1)
- Java Card (3)
- 面试 (18)
- Java (17)
- JNLP 集群 (0)
- java 面试 (3)
最新评论
-
ap0406708:
138XXXXXXXX
webserivce spring-ws 安全 -
yezhuzhe:
...
[code]SSH上传下载 ------温故知新 -
thinking_ou:
怎么需要解压密码
webserivce spring-ws 安全 -
ap0406708:
uuu999ggg 写道连return都写错了
try catch finally 块 与 函数的return -
wst0350:
...
java正则表达式,js正则表达式
1.用js在客户端验证
goodsPublish.jsp页面
1.不能为空
2.长度不超过20位
3.含非法字符@#$%^&*
4.必须是整数
5.价格格式
6.图片限制格式
regedit.jsp页面
1.不能含中文
2.长度范围
3.两次密码不相同
4.手机号码格式
5.邮箱格式
goodsPublish.jsp页面
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jstl/core"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>发布商品</title> <link rel="stylesheet" type="text/css" href="<%=basePath%>css/mobile.css"> <script language="javascript" type="text/javascript"> var xmlHttp; // 创建xmlHttp; function createXMLHttpRequest(){ if(window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }else if(window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); } } // 删除城市选项 function clearType2List(){ var type2 = document.getElementById("type2"); while(type2.childNodes.length > 0){ type2.removeChild(type2.childNodes[0]); } } //选项省份时 function selectType1(){ var type1 = document.getElementById("type1").value;//获取省份值 //alert(type1); if(type1 == ""){ //如果为空,则清空城市选项 clearType2List(); clearType3List(); var type2Select = document.getElementById("type2"); //获取城市select组件 var option = document.createElement("option"); option.appendChild(document.createTextNode("请选择分类2")); type2Select.appendChild(option); return ; //返回 } //不乱码3 //type1 = escape(escape(type1)); url="<%=basePath%>servlet/GetTypebyId?parentid=" + type1 + "&id="+Math.random(); //alert(url); createXMLHttpRequest(); xmlHttp.onreadystatechange = handleStateChange; xmlHttp.open("GET",url,true); xmlHttp.send(null); //不乱码3 } //回调函数 function handleStateChange(){ if(xmlHttp.readyState == 4){ if(xmlHttp.status == 200){ updateType2List(); } } } //页面更新城市集合函数 function updateType2List(){ clearType2List();//首先删除先前的城市选项 var type2Select = document.getElementById("type2"); //获取城市select组件 var results = xmlHttp.responseXML.getElementsByTagName("type");//获取Ajax返回的结果,city为返回的XML里的节点 var option = document.createElement("option"); option.appendChild(document.createTextNode("请选择分类2")); type2Select.appendChild(option); for(var i=0; i<results.length; i++){ option = document.createElement("option"); option.setAttribute("value",results[i].getAttribute("value")); option.appendChild(document.createTextNode(results[i].firstChild.nodeValue)); type2Select.appendChild(option); } //alert(type2Select.childNodes[0].getAttribute("value")); //查看值是否正确 } ///////////// // 删除城市选项 function clearType3List(){ var type3 = document.getElementById("type3"); while(type3.childNodes.length > 0){ type3.removeChild(type3.childNodes[0]); } } //选项省份时 function selectType2(){ var type2 = document.getElementById("type2").value;//获取省份值 //alert(type1); if(type2 == ""){ //如果为空,则清空城市选项 clearType3List(); var type3Select = document.getElementById("type3"); //获取城市select组件 var option = document.createElement("option"); option.appendChild(document.createTextNode("请选择分类3")); type3Select.appendChild(option); return ; //返回 } //不乱码3 //type1 = escape(escape(type1)); url="<%=basePath%>servlet/GetTypebyId?parentid=" + type2 + "&id="+Math.random(); //alert(url); createXMLHttpRequest(); xmlHttp.onreadystatechange = handleStateChange2; xmlHttp.open("GET",url,true); xmlHttp.send(null); //不乱码3 } //回调函数 function handleStateChange2(){ if(xmlHttp.readyState == 4){ if(xmlHttp.status == 200){ updateType3List(); } } } //页面更新城市集合函数 function updateType3List(){ clearType3List();//首先删除先前的城市选项 var type3Select = document.getElementById("type3"); //获取城市select组件 var results = xmlHttp.responseXML.getElementsByTagName("type");//获取Ajax返回的结果,city为返回的XML里的节点 var option = null; for(var i=0; i<results.length; i++){ option = document.createElement("option"); option.setAttribute("value",results[i].getAttribute("value")); option.appendChild(document.createTextNode(results[i].firstChild.nodeValue)); type3Select.appendChild(option); } //alert(type2Select.childNodes[0].getAttribute("value")); //查看值是否正确 } </script> <script language="javascript" type="text/javascript"> //验证非空函数 function checkNull(str,element) { if(element.value==""){ alert(str+"不能为空"); element.focus(); return false; } return true; } //验证长度函数 function checkLength(str,num,element) { if(element.value.length>=num) { alert(str+"长度不能超过"+num+"位"); element.focus(); return false; } return true; } //验证非法字符函数 function checkFeiFa(str,element) { var ve =/[@#\$%\^&\*]+/g; //@#$%^&*这些字符为非法 if(ve.test(element.value)){ element.focus(); alert(str+"含有非法字符@#$%^&*!"); return false; } return true; } //验证为整数函数 function checkInt(str,element) { var ve= /^[1-9][0-9]*$/; if(!ve.test(element.value)){ element.focus(); alert(str+"必须为整数!"); return false; } return true; } //验证价格函数 function checkPrice(str,element) { var re = /^[1-9][0-9]*$|^[0-9].[0-9]+$/; if(!re.test(element.value)){ element.focus(); alert(str+"格式出错!"); return false; } return true; } //验证为图片格式.jpg,.gif,.bmp格式 function checkPic(element) { if(element.value.toLowerCase().indexOf(".jpg")<0&&element.value.toLowerCase().indexOf(".gif")<0&&element.value.toLowerCase().indexOf(".bmp")<0){ alert("只能上传.jpg,.gif,.bmp格式的图片!"); return false; } return true; } //验证标题 function checkTitle(str,num,element) { if(!checkNull(str,element)) { return false; } if(!checkLength(str,num,element)) { return false; } if(!checkFeiFa(str,element)) { return false; } return true; } //验证商品数量 function checkGoodsnum(str,num,element) { if(!checkNull(str,element)) { return false; } if(!checkInt(str,element)) { return false; } if(!checkLength(str,num,element)) { return false; } return true; } //验证价格 function checkEms(str,element) { if(!checkPrice(str,element)) { return false; } return true; } //验证图片 function checkImage(str,element) { if(!checkNull(str,element)) { return false; } if(!checkPic(element)) { return false; } return true; } //被调用的验证函数 function check(){ var title = document.getElementById("title"); var price = document.getElementById("price"); var goodsnum = document.getElementById("goodsnum"); var image = document.getElementById("image"); var ems = document.getElementById("ems"); var py = document.getElementById("py"); var kd = document.getElementById("kd"); if(!checkTitle("商品名称",20,title)) { return false; } if(!checkGoodsnum("商品数量",7,goodsnum)) { return false; } if(!checkEms("价格格式",ems)) { return false; } if(!checkImage("图片",image)) { return false; } return true; } </script> </head> <body> <jsp:include page="/include/headm.jsp" flush="true" /> <div id="container"> <jsp:include page="/include/leftm.jsp" flush="true" /> <div id="rightside" > <div class="margin5 border1"> <form id="form1" name="form1" enctype="multipart/form-data" method="post" action="<%=basePath%>servlet/GoodsPublish" onsubmit="return check();"> <input type="hidden" name="shopid" value="<%=request.getParameter("shopid")%>" /> <label for="title">商品名称:</label> <input type="text" name="title" id="title" /> <br/> <label for="info">商品简介:</label> <input type="text" name="info" id="info" /> <br/> <label for="price"> 价格:</label> <input type="text" name="price" id="price" /> <br/> <label for="ems">配送价格:</label> <input type="text" name="ems" id="ems" /> <br/> <label for="py">平邮价格:</label> <input type="text" name="py" id="py" /> <br/> <label for="kd">快递价格:</label> <input type="text" name="kd" id="kd" /> <br/> <label for="goodsnum"> 数量:</label> <input type="text" name="goodsnum" id="goodsnum" /> <br/> <label for="goodsnum"> 图片:</label> <input type="file" name="image" id="image" /> <br/> <label for="type1"> 分类1:</label> <select name="type1" id="type1" onchange="selectType1();"> <option>请选择分类1</option> <c:forEach items="${sessionScope['type1list']}" var="item"> <option value="<c:out value="${item.id}"/>"><c:out value="${item.name}"/></option> </c:forEach> </select> <label for="type2">分类2:</label> <select name="type2" id="type2" onchange="selectType2();"> <option>请选择分类2</option> </select> <label for="type3">分类3:</label> <select name="type3" id="type3"> <option>请选择分类3</option> </select> <br/> <label for="Submit"></label> <input type="submit" name="Submit" value="提交" id="Submit" /> <label for="label"></label> <input type="reset" name="Reset" value="重置" id="label" /> <br/> </form> </div> </div> </div> <jsp:include page="/include/footm.jsp" flush="true" /> </body> </html>
1.不能为空
2.长度不超过20位
3.含非法字符@#$%^&*
4.必须是整数
5.价格格式
6.图片限制格式
regedit.jsp页面
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jstl/core"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <% response.setHeader("Pragma", "No-cache"); response.setDateHeader("Expires", 0); response.setHeader("Cache-Control", "no-cache"); %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>注册页面</title> <script type="text/javascript" src="js/jquery.js"></script> <style type="text/css"> <!-- body { margin-left: 10px; margin-top: 10px; margin-right: 0px; margin-bottom: 0px; } form{ font-family:"Times New Roman", Times, serif; font-size:12px; color:#666666; } --> </style> <style type="text/css"> .code{ background-image:url(image/code.jpg); font-family:Arial; font-style:italic; color:Red; border:0; padding:2px 3px; letter-spacing:3px; font-weight:bolder; } .unchanged { border:0; } </style> <link rel="stylesheet" type="text/css" href="css/mobile.css"> <script language="javascript" type="text/javascript"> //不含中文 function checkNoCn(str,element) { var re = /.*[\u4e00-\u9fa5]+.*$/; if(re.test(element.value)) { alert(str+"不能含有中文!"); element.focus(); return false; } return true; } //长度范围num1>num2 function checkLengths(num1,num2,str,element) { if(element.value.length>=num1 || element.value.length<num2) { alert(str+"长度出错"); element.focus(); return false; } return true; } //两次密码是否相同 function checkSame(str,element1,element2) { if(element1.value!=element2.value) { alert("两次"+str+"不相同"); element2.focus(); return false; } return true; } //手机 13X,158,159,11位的 function checkMobile(element) { var re = /^13\d{9}|15[8,9]\d{8}$/g; if(!re.test(element.value)) { alert("手机号码输入有误!"); return false; } return true; } //邮箱 X@X.com function checkEmail(element) { var re = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/; if(!re.test(element.value)) { alert("邮箱格式不正确!"); element.focus(); return false; } return true; } //用户名 function checkUsername(num1,num2,str,element) { if(!checkNoCn(str,element)) { return false; } if(!checkLengths(num1,num2,str,element)) { return false; } return true; } //密码 function checkPassword2(str,element1,element2) { if(!checkSame(str,element1,element2)) { return false; } return true; } //手机 function checkMob(element) { if(!checkMobile(element)) { return false; } return true; } function check(){ var username = document.getElementById("username"); var password = document.getElementById("password"); var password2 = document.getElementById("password2"); var mob = document.getElementById("mob"); var email = document.getElementById("email"); var certificate = document.getElementById("certificate"); var person = document.getElementById("person"); var telno = document.getElementById("telno"); var address = document.getElementById("address"); var postno = document.getElementById("postno"); // var inputCode = document.getElementById("input1").value.toUpperCase(); if(!checkUsername(20,5,"用户名",username)) { return false; } if(!checkPassword2("密码",password,password2)) { return false; } if(!checkMob(mob)) { return false; } if(!checkEmail(email)) //邮箱 { return false; } return true; } </script> </head> <body > <jsp:include page="include/head.jsp" flush="true" /> <div id="container"> <div> <form id="form1" name="form1" method="post" action="servlet/RegeditServlet" onsubmit="return check();"> <label for="username"> 用户名:</label> <input type="text" name="username" id="username" />* 5-20位字母、数字或字符组合<span class="STYLE1" style="color: red" id="result"></span> <br/> <label for="password" > 密码:</label> <input type="password" name="password" id="password" size="22"/>* 6-20位字母、数字或字符组合 <br/> <label for="password2">重复密码:</label> <input type="password" name="password2" id="password2" size="22"/>* <br/> <label for="mob">注册手机:</label> <input type="text" name="mob" id="mob" /> <br/> <label for="email"> E-mail:</label> <input type="text" name="email" id="email" /> <br/> <label for="certificatetype">证件类型:</label> <select name="certificatetype" id="certificatetype"> <option value="身份证">身份证</option> <option value="车官证">车官证</option> <option value="工商证">工商证</option> </select> <br/> <label for="certificate"> 证件号:</label> <input type="text" name="certificate" id="certificate" /> <br/> <label for="person"> 联系人:</label> <input type="text" name="person" id="person" /> <br/> <label for="sex"> 性别:</label> <select name="sex" id="sex"> <option value="1">男</option> <option value="0">女</option> </select> <br/> <label for="telno">联系电话:</label> <input type="text" name="telno" id="telno" /> <br/> <label for="address">联系地址:</label> <input type="text" name="address" id="address" /> <br/> <label for="postno"> 邮编:</label> <input type="text" name="postno" id="postno" /> <br/> <label for="checkno"> 验证码:</label> <input type="text" name="input1" id="input1" maxlength="4"/>* <input type="text" id="checkCode" class="code" style="width: 55px" readonly="readonly"/> <a href="#" onclick="createCode()">看不清楚</a> <br/> <input id="choose" type="checkbox" class="radio" checked="checked" />我已阅读并同意<a href="viewAdvice.jsp" target="_blank">《XXX通用户协议》</a> <br/> <label for="Submit"></label> <input type="submit" name="Submit" value="注册" id="Submit" /> <label for="label"></label> <input type="reset" name="Reset" value="重置" id="label" /> <br/> </form> </div> </div> <jsp:include page="include/foot.jsp" flush="true" /> </body> </html>
1.不能含中文
2.长度范围
3.两次密码不相同
4.手机号码格式
5.邮箱格式
发表评论
-
好浦的东东
2010-06-18 10:42 613http://grepcode.com/file/repo1. ... -
Excel函数 单元格引用
2010-06-12 13:20 789=SUM(A2:E2) 复制会成 =SUM(A3:E3) ... -
20100601
2010-06-02 08:40 646调试环境tomcat 临时发布 发布tomcat 右键 we ... -
java生成静态页面.
2009-12-07 23:19 1186java生成静态页面. -
2009年10月11月记忆----------java网上商城
2009-12-07 23:01 913果皮网 http://www.guopi.com/ js ... -
2009年3月的记忆-------动漫商城
2009-12-07 22:56 663http://www.cosplay8.cn/ Cospl ... -
MySQL数据类型与Java的类型
2009-12-06 00:48 960mysql 数据类型java类型对照 http://mars ... -
[code] log4j写日志(可以写入数据库)
2009-12-05 12:51 15421.配置可以是properties,xml 2.输出有好多种 ... -
[code]添加,修改,删除后的页面跳转
2009-12-04 14:00 1067一,成功确认 1.去到一页面,弹出对话框后,确认跳转. 2.去 ... -
[code]表单验证_3.用框架去验证
2009-12-04 00:17 8241.用Struts验证 struts验证框架开发详解 htt ... -
[code]表单验证_2.用java在服务器端验证
2009-12-03 23:47 1827因为做的是wap端的网站,所以不能用到js,所以验证的工作就要 ... -
PO BO VO DTO POJO DAO SDO(java的server data object)的疑惑
2009-10-01 17:16 1624PO BO VO DTO POJO DAO概念及其作用(附转换 ... -
[code]9月4号面试要做的guestbook(jsp+servlet+mysql+js)
2009-09-04 15:12 970结构按足 持久层,服务层,web层去写的。 -
[code]SSH 实现注册,登陆,查看,添加,修改,删除
2009-09-03 20:28 26161 mySSH01.rar web.xml是配置了strut ... -
http应答码 500错误 20090812(jsp+servlet+access)Topjoy
2009-08-13 23:21 1718HTTP Status 500 - ----------- ... -
el表达式和jstl标签 20090812(jsp+servlet+access)Topjoy
2009-08-13 21:47 854这两样都是jsp2.0以后自带的 1. <c:if> ... -
servlet+jsp的MVC框架流程 20090812(jsp+servlet+access)Topjoy
2009-08-13 21:31 9151. servlet应答请求--> 调用业务逻辑或数据库 ... -
[code]20090812(jsp+servlet+access)Topjoy 写一网站的流程
2009-08-13 20:47 7631. 需求分析 2. 开发原型(html网页有css.js ... -
20090812(jsp+servlet+access)Topjoy遇到的问题
2009-08-13 20:30 7441. 上传文件 form要是 ENCTYPE="mu ... -
由程序语言的保留字引发的错误
2009-08-13 20:19 7131. String sql = "insert in ...
相关推荐
客户端验证通常使用JavaScript进行,可以即时反馈错误,提高用户体验;而服务器端验证则是必需的,因为它能确保数据安全,不受恶意用户篡改。 `Validate_code.rar_struts`可能是一个包含Struts验证框架的示例项目,...
在本文中,我们将深入探讨如何使用JavaScript进行表单验证,特别是在提交表单时确保数据的安全性和有效性。 首先,表单验证的重要性在于防止“坏数据”到达服务器。这不仅能够节省服务器资源,还能提高用户体验,...
本篇将详细探讨如何使用jQuery库的validate.js插件和Poshytip工具进行高效且友好的表单验证。 jQuery.validate.js是一个非常流行的JavaScript库,用于对HTML表单进行客户端验证。它提供了丰富的内置验证规则,如...
在Struts1中,表单验证通常在服务器端进行,通过ActionForm类来实现。不过,为了提高用户体验,我们可以结合JQuery validate插件实现客户端验证。 在Struts1配置文件(struts-config.xml)中,我们需要为ActionForm...
在实际的Web开发中,开发者通常会编写测试代码来验证文件上传功能是否正常工作,包括文件类型检查、大小限制、错误处理以及文件存储路径的管理等。 **核心知识点:** 1. **JSP技术**:JSP是Java EE的一部分,用于...
"CS"通常代表"Client Side",在这里可能指的是客户端部分,而ASP.NET是微软公司推出的一种用于构建Web应用程序的框架,它允许开发者使用C#等语言来编写服务器端代码。 【描述解析】 描述部分与标题相同,"cs简单的...
1. **JavaScript 开发**:JavaScript 是Dynamics CRM中常用的客户端脚本语言,用于实现页面交互、验证和自定义行为。熟练掌握JQuery等库可提升开发效率。 2. **插件开发**:通过编写插件,可以在CRM的生命周期中...
这可能涉及到响应式设计、表单验证、数据可视化等功能。 8. **异常处理与日志记录**:系统的稳定性至关重要,完善的异常处理机制和详尽的日志记录能帮助开发者及时发现并解决问题。 这个“oracle_project”可能...
因此,开发时应结合JavaScript进行验证,确保在所有浏览器中都能实现表单验证。 六、JavaScript增强验证 使用JavaScript库如jQuery Validation插件,可以进一步增强验证功能,提供更复杂的规则和更好的用户体验。...
jQuery.validate.js是由Jörn Zaefferer创建的一个轻量级、高效的验证插件,它是jQuery生态系统中的一个强大工具,用于实现客户端的表单验证。该插件能够帮助开发者快速实现各种复杂的验证规则,无需编写大量的...
该压缩包文件包含的是"(R)-ASP+SQL-Code",这意味着它是一个使用Active Server Pages (ASP)技术和SQL数据库的网站源代码集合,主要用于吉林市人才市场的在线平台www.jlsrc.com。源代码的完整性表明这是一个完整的...
对于表单验证,jQuery提供了一种高效且用户友好的解决方案,避免了提交无效数据到服务器的情况。本篇文章将深入探讨jQuery如何实现表单验证。 首先,我们需要了解表单验证的基本原理。在HTML中,我们可以通过设置`...
在这个模板中,可能包含了JavaScript代码,用于实现动态效果,如滑动菜单、滚动动画、表单验证等,提升用户在浏览网站时的体验。 4. **响应式设计**:由于标签中提到了“移动端前端”,这意味着这个网站模板采用了...
在这个商务投资咨询模板中,JS可能被用于实现动态效果,如下拉菜单、滑动展示、表单验证等功能,提升用户体验。 4. **移动端前端**:随着移动设备的普及,网站需要适应不同的屏幕尺寸。这个模板考虑了移动端的用户...
在这个模板中,JavaScript可能用于实现页面的交互功能,比如响应式导航菜单、滚动动画、图片轮播或表单验证。它还可以与CSS配合,通过JavaScript库如jQuery,添加更复杂的行为,如动态加载内容或自适应布局调整。 ...
在本文中,我们将深入探讨如何实现一个基于jQuery的顶部下拉AJAX验证表单。这个技术结合了HTML5、CSS和JavaScript,为用户提供了一个高效、交互性强的表单提交体验。我们将从以下几个方面来详细讨论这个主题: 1. *...
本文将详细介绍如何使用Ajax技术来实现表单提交时的数据验证。 #### 一、Ajax技术简介 Ajax是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量数据交换,它可以实现局部刷新页面的功能。这使得网页...
在这个HTML5模板中,JavaScript可能被用来实现动态效果,如下拉菜单、滑动图片展示、表单验证等功能,提高用户体验。同时,可能还采用了诸如jQuery这样的库来简化JavaScript代码,使其更易于维护和扩展。 模板的...
jQuery.validate插件是基于jQuery的,专门用于实现客户端表单验证,提供了丰富的选项和方法来定制验证规则,使得开发者能够轻松创建功能强大的表单验证机制。 1. **安装与引入** 要使用jQuery.validate插件,首先...