- 浏览: 1342996 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
kay11:
...
JAVA生成简单的随机字符串(a-zA-Z0-9) -
zhangliguoaccp:
您好关于登录页面的验验证码这块怎么解决的?还有登录成功后,跳转 ...
JAVA,模拟HTTP登录 -
107x:
不错,谢谢!
<c:foreach 循环 map -
wenjin:
不知楼主是不还在想请叫一下我自己开的Tomcat下载一个文件C ...
Android 下载文件及写入SD卡 -
zyywgf:
JSTL c标签,fn标签,fmt标签
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" isELIgnored="false" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script type="text/javascript" src="<%=basePath%>js/Validator.js"></script> </head> <body> <form action="" name="customerForm" method="post" onsubmit="return Validator.Validate(this,2)"> <table > <tr> <td width="15%" height="20">企业名称:</td> <td width="35%"> <input type="text" name="corporate_name" value="" size="20" maxlength="40" dataType="Require" msg="企业名称不能为空"/> <font color="red">*</font> </td> <td width="15%">编号:</td> <td width="35%"> <input type="text" name="contact_phone" value="" size="20" maxlength="12" require="false" dataType="Number" msg="请填写正确的数字编号"/> <font color="red">*</font> </td> </tr> <tr> <td width="15%" height="20">下发电话:</td> <td width="35%"> <input type="text" name="send_sms_phone" value="" size="20" maxlength="12" require="false" dataType="Number" msg="请填写正确的手机号码,如:13810018008 "/> </td> <td width="15%">联系电话:</td> <td width="35%"> <input type="text" name="contact_phone" value="" size="20" maxlength="12" dataType="Phone" msg="请填写正确的联系电话,如:13810018008"/> <font color="red">*</font> </td> </tr> <tr align="left"> <td colspan="4"> </td> </tr> <tr> <td> </td> <td> <input type="submit" name="sure" class="btn_2k3" value="提交"/> <input type="button" name="back" class="btn_2k3" value="返回"onclick="javascript:history.go(-1)"/> </td> <td> </td> <td> </td> </tr> </table> </body> </html>
Validator = { Require : /.+/, Email : /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, Phone : /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/, Mobile : /^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/, Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/, IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/, Currency : /^\d+(\.\d+)?$/, Number : /^\d+$/, Zip : /^[1-9]\d{5}$/, QQ : /^[1-9]\d{4,8}$/, Integer : /^[-\+]?\d+$/, Double : /^[-\+]?\d+(\.\d+)?$/, English : /^[A-Za-z]+$/, SafeAccount:/[a-zA-Z_0-9]/, Chinese : /^[\u0391-\uFFE5]+$/, UnSafe : /^(([A-Z]*|[a-z]*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.{0,5})$|\s/, IsSafe : function(str){return !this.UnSafe.test(str);}, SafeString : "this.IsSafe(value)", Limit : "this.limit(value.length,getAttribute('min'), getAttribute('max'))", LimitB : "this.limit(this.LenB(value), getAttribute('min'), getAttribute('max'))", Date : "this.IsDate(value, getAttribute('min'), getAttribute('format'))", Repeat : "value == document.getElementsByName(getAttribute('to'))[0].value", Range : "getAttribute('min') < value && value < getAttribute('max')", Compare : "this.compare(value,getAttribute('operator'),getAttribute('to'))", Custom : "this.Exec(value, getAttribute('regexp'))", Group : "this.MustChecked(getAttribute('name'), getAttribute('min'), getAttribute('max'))", ErrorItem : [document.forms[0]], ErrorMessage : ["错误信息提示"], Validate : function(theForm, mode){ var obj = theForm || event.srcElement; var count = obj.elements.length; this.ErrorMessage.length = 1; this.ErrorItem.length = 1; this.ErrorItem[0] = obj; for(var i=0;i<count;i++){ with(obj.elements[i]){ var _dataType = getAttribute("dataType"); if(typeof(_dataType) == "object" || typeof(this[_dataType]) == "undefined") continue; this.ClearState(obj.elements[i]); if(getAttribute("require") == "false" && value == "") continue; switch(_dataType){ case "Date" : case "Repeat" : case "Range" : case "Compare" : case "Custom" : case "Group" : case "Limit" : case "LimitB" : case "SafeString" : if(!eval(this[_dataType])) { this.AddError(i, getAttribute("msg")); } break; default : if(!this[_dataType].test(value)){ this.AddError(i, getAttribute("msg")); } break; } } } if(this.ErrorMessage.length > 1){ mode = mode || 1; var errCount = this.ErrorItem.length; switch(mode){ case 2 : for(var i=1;i<errCount;i++) this.ErrorItem[i].style.color = "red"; case 1 : alert(this.ErrorMessage.join("\n")); this.ErrorItem[1].focus(); break; case 3 : for(var i=1;i<errCount;i++){ try{ var span = document.createElement("SPAN"); span.id = "__ErrorMessagePanel"; span.style.color = "red"; this.ErrorItem[i].parentNode.appendChild(span); span.innerHTML = this.ErrorMessage[i].replace(/\d+:/,"*"); } catch(e){alert(e.description);} } this.ErrorItem[1].focus(); break; default : alert(this.ErrorMessage.join("\n")); break; } return false; } return true; }, limit : function(len,min, max){ min = min || 0; max = max || Number.MAX_VALUE; return min <= len && len <= max; }, LenB : function(str){ return str.replace(/[^\x00-\xff]/g,"**").length; }, ClearState : function(elem){ with(elem){ if(style.color == "red") style.color = ""; var lastNode = parentNode.childNodes[parentNode.childNodes.length-1]; if(lastNode.id == "__ErrorMessagePanel") parentNode.removeChild(lastNode); } }, AddError : function(index, str){ this.ErrorItem[this.ErrorItem.length] = this.ErrorItem[0].elements[index]; this.ErrorMessage[this.ErrorMessage.length] = this.ErrorMessage.length + ":" + str; }, Exec : function(op, reg){ return new RegExp(reg,"g").test(op); }, compare : function(op1,operator,op2){ switch (operator) { case "NotEqual": return (op1 != op2); case "GreaterThan": return (op1 > op2); case "GreaterThanEqual": return (op1 >= op2); case "LessThan": return (op1 < op2); case "LessThanEqual": return (op1 <= op2); default: return (op1 == op2); } }, MustChecked : function(name, min, max){ var groups = document.getElementsByName(name); var hasChecked = 0; min = min || 1; max = max || groups.length; for(var i=groups.length-1;i>=0;i--) if(groups[i].checked) hasChecked++; return min <= hasChecked && hasChecked <= max; }, IsDate : function(op, formatString){ formatString = formatString || "ymd"; var m, year, month, day; switch(formatString){ case "ymd" : m = op.match(new RegExp("^((\\d{4})|(\\d{2}))([-./])(\\d{1,2})\\4(\\d{1,2})$")); if(m == null ) return false; day = m[6]; month = m[5]--; year = (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10)); break; case "dmy" : m = op.match(new RegExp("^(\\d{1,2})([-./])(\\d{1,2})\\2((\\d{4})|(\\d{2}))$")); if(m == null ) return false; day = m[1]; month = m[3]--; year = (m[5].length == 4) ? m[5] : GetFullYear(parseInt(m[6], 10)); break; default : break; } if(!parseInt(month)) return false; month = month==12 ?0:month; var date = new Date(year, month, day); return (typeof(date) == "object" && year == date.getFullYear() && month == date.getMonth() && day == date.getDate()); function GetFullYear(y){return ((y<30 ? "20" : "19") + y)|0;} } }
发表评论
-
jQuery 取值、赋值的基本方法[转]
2013-01-18 15:39 930/*获得TEXT.AREATEXT的值*/ var ... -
jquery处理JSONArray
2013-01-18 15:37 1401var bcvList = eval('<c:out ... -
jQuery的Select操作集合
2013-01-14 15:42 818jQuery获取Select选择的Text和Value: 语 ... -
JS 浮点计算 精度缺失
2013-01-14 15:41 1041<!DOCTYPE HTML PUBLIC " ... -
DIV层被Flash或表单遮盖的解决方法
2013-01-05 15:21 836在网页制作中,经常会遇到DIV层被Flash、input、se ... -
zTree子节点异步加载注意
2012-12-17 17:10 1950子节点异步加载注意1.后台数据不需要传pid到页面,页面的配置 ... -
js刷新页面--2【转】
2012-10-24 16:33 1096reload 方法,该方法强迫浏览器刷新当前页面。语法:loc ... -
jQuery 的DatePicker 添加一个Clear清除按钮
2012-08-17 16:13 22544$(document).ready(function () ... -
Ext 总结
2012-05-15 11:20 952一. GridPanel var sm ... -
javascript简易验证码
2012-04-10 16:33 1470<!DOCTYPE html PUBLIC " ... -
下拉框,且可以编辑
2011-05-17 14:22 1135一个,可以选择的下拉框,并可以实现自行输入值 < ... -
省市级联菜单,静态HTML
2011-05-17 10:21 1707<html> <head> ... -
input只允许输入数字
2011-04-21 13:53 1109function onlyNum(){ if(!((even ... -
javascript判断字符长度
2011-04-21 13:29 938function getlengthB(str){ ... -
HTML 日期
2011-02-24 17:40 1993html 写道 <!DOCTYPE HTML PUBL ... -
JS中window.setInterval和window.setTimeout的区别
2010-10-19 16:37 1382setTimeout(表达式,延时时间) 在执行时,是在载入后 ... -
dwr定时获取后台数据
2010-10-19 16:35 21531.在JSP页面加入展示代码: 新消息<input ty ... -
JS 跳出iframe框架,退出
2010-05-04 09:49 4620(1)session过期后登陆页面跳出iframe页面问题 登 ... -
文件上传页面控制动态添加删除的代码
2010-03-24 16:50 1112<%@ page language="java ... -
jQuery 操作手册(4)
2010-01-21 18:04 1551...
相关推荐
3. **JavaScript交互**:如果页面允许,可以通过执行JavaScript代码来判断页面是否准备好。例如,可以编写一个JavaScript函数检查所有图片是否加载完成,或者等待特定的DOM元素出现。然后,使用WebBrowser的`...
1. **DOM操作**:为了在页面上显示月份组件,我们需要使用JavaScript来创建和操作HTML元素。这包括动态生成`<select>`元素或自定义的UI元素,如按钮和列表项,以及在用户交互时更新这些元素。 2. **事件监听**:...
SpreadJS是一款强大的JavaScript电子表格组件,它允许开发者在Web应用中实现类似于Microsoft Excel的功能。在本示例中,我们关注的是如何识别单元格的数据类型,特别是富文本。 富文本是指包含多种格式(如字体、...
在JavaScript中,页面判断是网页开发中不可或缺的一部分,主要用于数据验证、用户交互和浏览器兼容性处理。以下是对标题和描述中涉及的知识点的详细说明: 一、验证类 1. 数字验证: - 整数:使用正则表达式`/^(-|...
Vant List组件是Vue.js框架中的一个常用的列表渲染组件,由Vant UI库提供。它主要用于展示大量数据的列表,并且通常与上拉加载、下拉刷新等交互效果结合使用。在某些场景下,比如在页面之间切换时,我们希望用户在...
除了实现无限级菜单的展示之外,还可以添加一些交互功能,比如点击菜单项时可以跳转到相应的页面或者执行特定的 JavaScript 函数。这在 el-menu 的 item 属性中可以实现,通过点击事件可以绑定方法,处理用户的点击...
本文将详细探讨如何使用JavaScript(简称js)中的i18n库实现页面国际化。 首先,需要理解i18n的含义。"i18n"是一个行业术语,代表“internationalization”,是指软件或文档在设计阶段就考虑了不同地区和语言的用户...
在H5页面设计中,一个常见的交互元素是列表组件,而其中的侧滑功能则为用户提供了一种便捷的操作方式,比如删除或修改列表项。本文将深入探讨“精致的H5 列表侧滑组件”及其在H5页面中的应用。 首先,侧滑功能通常...
在日历组件中,JS负责处理用户的交互事件,如点击日期、选择范围等,同时处理逻辑,如判断是否已选择某个日期、更新数据状态等。JS代码通常包含在组件的`<script>`标签内,通过`Page`或`Component`对象定义页面或...
总结来说,Vue组件实现触底判断的核心在于监听滚动事件,判断滚动位置是否到达页面底部,并通过父组件传递的回调函数进行相应的操作。在实际应用中,为了优化性能,应考虑使用节流或防抖函数。这个简单的示例展示了...
在Vue.js开发中,有时我们需要监听组件的加载完成状态,以便在所有组件加载完毕后执行特定的操作。在使用Vue CLI构建项目时,这个问题可以通过结合Vuex的状态管理库来解决。本文将详细介绍如何在Vue CLI项目中监听...
JavaScript页面渲染完毕时间的监听是前端开发者不可或缺的技能之一,其主要目的是为了在页面完全准备好之后执行特定的逻辑,如填充数据、初始化组件等。在实际应用中,这有助于优化用户体验,确保用户看到的是一个...
例如,这个资源可能包含一个js函数,用于判断用户是否在移动设备上浏览,并据此显示或隐藏特定内容。 4. **H5模板**: H5通常是指HTML5,是HTML的最新版本,增加了许多新的元素和功能,如离线存储、媒体元素、画布、...
在IT行业中,登录页面和导航页面是任何Web应用程序的基础组件,它们为用户提供访问系统的入口,并指导用户在系统内部进行操作。在这个项目中,我们关注的是一个包含特定时间判断功能的登录和导航页面,这通常涉及到...
`jenkov_ajaxScript.js`是一个JavaScript文件,可能包含了与TreeTag组件相关的AJAX功能。AJAX(Asynchronous JavaScript and XML)技术允许页面在不刷新整个页面的情况下更新部分内容,提高用户体验。这个脚本可能...
为了在多个页面上复用并统一分页样式,我们可以将其封装为一个公用组件。下面我们将详细探讨如何进行这个过程,以及涉及到的语言包配置。 首先,我们需要理解el-pagination的基本用法。在ElementUI中,el-...
在Vue.js开发中,分页器组件是一种常见的UI元素,用于在大量数据中实现分页浏览,提升用户体验。本项目是基于Vue实现的一个分页器组件,具备设置初始页码和输入页码直接跳转的功能。 1. **Vue.js基础知识**: Vue....
4. 在组件的JavaScript部分,通过判断传入的`type`值来决定初始化ECharts实例时使用的DOM元素。 这样,每个ECharts实例都会使用一个唯一的id进行初始化,从而避免了冲突和数据覆盖的问题。 以下是一个简化的示例...
Vue.js 是一款非常流行的前端JavaScript框架,用于构建用户界面,尤其在单页面应用程序(SPA)中广泛应用。Vue 2.0是其一个重要的版本,它带来了许多改进和优化,提升了性能和开发体验。本项目“基于vue20开发的分页...
本文主要是讲述 Vue.js 3.0 中一个组件是如何转变为页面中真实 DOM 节点的。对于任何一个基于 Vue.js 的应用来说,一切的故事都要从应用初始化「根组件(通常会命名为 APP)挂载到 HTML 页面 DOM 节点(根组件容器)...