JavaScript实现简单的表单验证
.error{
color:Red;
}
window.onload = function() {
//根据表单id获取表单
var frm1 = document.getElementById("frm1");
//在文本框后插入验证错误信息
function ErrorMsg(txtBox, msg) {
var errSpan = txtBox.nextSibling;
//判断span标记是否已经存在
if (errSpan != null && errSpan.nodeName == "SPAN" && errSpan.className == "error") {
errSpan.innerHTML = msg;
}
else {
//创建span标记并利用DOM方法添加到文本框之后
errSpan = document.createElement("span");
errSpan.className = "error";
errSpan.innerHTML = msg;
if (txtBox.nextSibling != null)
txtBox.parentNode.insertBefore(errSpan, txtBox.nextSibling);
else
txtBox.parentNode.appendChild(errSpan);
}
}
//处理表单的onsubmit事件
frm1.onsubmit = function() {
var isValidate = true;
//检查用户名是否填写
var userName = document.getElementById("txt1");
if (userName.value == "") {
isValidate = false;
ErrorMsg(userName, "必须填写用户名!");
}
else
ErrorMsg(userName, "");
//设置日期格式正则表达式
var dateRegexp = /^\d\d\d\d[\/.-]\d\d[\/.-]\d\d$/;
var birthDay = document.getElementById("txt2");
//检查日期格式是否正确
if (birthDay.value.search(dateRegexp) == -1) {
isValidate = false;
ErrorMsg(birthDay, "出生日期格式不正确!");
}
else
ErrorMsg(birthDay, "");
//如果验证不通过则阻止表单提交
if (!isValidate)
return false;
else
alert("验证通过!");
}
}
web项目前端开发经验总结
web项目前端开发经验总结 最近这一个月完成了自己的第一个java web项目,是给某杂志社做的在线投稿系统,虽然进度很慢,但是中间确实学到了不少东西,深刻体会到了自己看几个月书都不如做一个项目来的实在。这个项目自己主要负责的是JSP页面、JS脚本、CSS样式表的编写,虽然主要做的是前端,但是在设计前端后台交互功能时,对MVC架构和数据库又多了一分了解,这一个月的时间,自己在技术上也确实成长了不少。 下面分成几块总结一下自己的这个项目中的心得吧: 1.项目开发流程:从确认需求开始,到原型设计,再到原型测试,这些都没什么说的了,主要是刚开始开发前端JSP页面时,自己走了很多弯路,想到有什么页面就写什么页面,GET和POST的路径也是随心所欲,想到什么名字就起什么名字,结果发现这样做严重影响了项目开发的进度,后来经过主管的提点后,我幡然醒悟,其实,面向对象的思想就贯穿在整个项目当中,在前面的原型设计的过程中,除了页面的设计还有数据库的设计,数据库的每个表就对应着Java中的每个实体类,这个类封装了数据库中的列作为属性,封装了数据库的增删改查作为方法,就拿这个投稿系统为例,实体主要有用户、稿件等等,实体间还有着一对一映射或者一对多映射等对应关系。其实,整个系统的开发就是围绕着这些个实体进行的,甚至于我们可以把实体名字做为二级目录,把实体的增删改查作为GET或POST 的路径,譬如account/add、paper/delete等等,有了这些路径,那么与之对应的GET和POST的Controller也就有了,接下来我们要做的就是,定义Controller中返回的视图,写完Controller后再把与实体相关的增删改查方法写到服务层中,再把项目的整个骨架搭起来,再去处理细节,很快的,这个项目就成型了。这里前端和后台的配合尤为重要,数据交互是整个系统的核心。 2.JSP页面设计:提到JSP页面,在这里我想说的一点是,其实JSP页面是在服务器生成的,那么传给JSP页面的变量、参数都会在服务器转化为它们具体的值,然后再传给客户端。JSP页面可以实现很多服务器端的功能,因为可以直接在页面嵌入JAVA代码,但是我们必须明确的一点是,JSP页面主要是用来呈现视图的,不要再其中套入大量的代码,要明确前端与后台的分工。 3.JSTL标签:JSTL标签就是JSP standard taglib,即JSP标准标签库,首先,EL表达式可以非常方便的取出Controller返回的View包含的Model,甚至都无需声明EL 表达式。其次,JSTL标签可以实现很多的逻辑控制功能,比如最基本的c:if判断、c:forEach 循环,甚至有更强大的c:choose,有了这些,我们可以大大简化代码量,JSP页面中用几十行java写的代码,有时用几句JSTL标签组合就实现了,此外,像fmt:parseDate和 fmt:formatDate也是很好用的标签,用于日期的解析和格式化,此外JSTL更有强大的函数标签库fn:,项目中我也只用到了fn:length取后台传的list的长度。要善用JSTL标签,但是又不要完全依赖于它,JSTL标签很方便、快捷,但是切记,JSTL功能有限,不要完全依赖于它。 4.shiro框架:shiro框架是apache的一款面向java web项目的权限控制框架,这个框架无论前端、后台都十分好用,在前端,我们可以使用shiro强大的标签库,通过用户角色赋予用户不同的访问权限。譬如,如果一个系统的用户有访客、用户、管理员三种角色,我们就可以通过shiro标签来控制游客不能访问哪些内容,页面向用户和管理员呈现的不同内容,这就是shiro标签的神奇之处。 5.sitemesh框架:这个主要是用来将所有页面套用固定格式,用以页面的复用,其实有些时候标签更为方便,而且sitemesh框架的内存开销是的二倍,还会导致拦截器出现一些莫名的bug,所以并不推荐使用。
js表单验证代码全集
js表单验证代码全集 2008年06月25日星期三下午 03:23 1:js 字符串长度限制、判断字符长度、js限制输入、限制不能输入、textarea 长度限制 2.:js判断汉字、判断是否汉字、只能输入汉字 3:js判断是否输入英文、只能输入英文 4:js只能输入数字,判断数字、验证数字、检测数字、判断是否为数字、只能输入数字 5:只能输入英文字符和数字 6: js email验证、js 判断email 、信箱/邮箱格式验证 7:js字符过滤,屏蔽关键字 8:js密码验证、判断密码 2.1: js 不为空、为空或不是对象、判断为空、判断不为空 2.2:比较两个表单项的值是否相同 2.3:表单只能为数字和"_", 2.4:表单项输入数值/长度限定 2.5:中文/英文/数字/邮件地址合法性判断 2.6:限定表单项不能输入的字符 2.7表单的自符控制 2.8:form文本域的通用校验函数 2.9:js验证手机号,含158,159段的 1. 长度限制
2. 只能是汉字 3." 只能是英文 2. 只能是汉字 3." 只能是英文JAVASCRIPT脚本编程-带答案
1、JavaScript是什么_______。 A)客户端脚本语言√ B)客户端标记语言 C)服务器端脚本语言 D)服务器端标记语言 2、关于JavaScript的作用说法正确的是_______。(选三项) A)JavaScript即面向过程又面向对象√ B)实现客户端表单验证√ C)制作网页特效√ D)JavaScript语言属于低级语言 3、关于JavaScript编程工具的说法,正确的是_______。 A)只能使用DreamWeaver B)只能使用记事本 C)只能使用EditPlus D)一切文本编辑器皆可√ 4、完整的JavaScript实现包括三个部分,除了_______。 A)ECMAScript B)BOM C)COM √ D)DOM 5、JavaScript脚本文件的后缀名是_______。 A)*.jsp B)*.js √ C)*.java D)*.asp 6、将JavaScript脚本文件导入到HTML页面所对应的标记是_______。 A)