- 浏览: 116129 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
niezhihong:
Java代码 Contact selContact = (C ...
liferay 日历使用 -
释皇天:
<script language="javas ...
js获得当前日期和昨天日期 -
释皇天:
火狐下可以不???貌似不可以。
js获得当前日期和昨天日期 -
plj123:
今天遇到这个问题了,用outerHTML会报未知运行时错误。 ...
js删除tr -
javaray:
遨豪(大连)科技有限公司自2007年与Liferay,Inc合 ...
liferay 中的经常使用的
发现一个好用的验证 :
可直接访问
http://www.bencode.cn/code/validation/doc/quickstart.html
使用方法相当简单,复杂验证的话,可以自己添加验证器
<form action="" method="post">
<p>用户名:<input type="text" name="username" /></p>
<p>登录密码:<input type="text" name="password" /></p>
<p>重复密码:<input type="text" name="confirm-password" /></p>
<p>邮箱地址: <input type="text" name="email" /></p>
<p>出生日期:<input type="text" name="birthday" /></p>
<p>性别: <input id="sex-boy" name="sex" type="radio" value="1" /><label for="sex-boy">男</label> <input id="sex-girl" name="sex" type="radio" value="0" /><label for="sex-girl">女</label></p>
<p>真实姓名: <input type="text" name="truename" /></p>
<p>手机号: <input type="text" name="mobilephone" /></p>
<p><input type="submit" value="注册" /></p>
</form>
<form action="" method="post">
<p>用户名:<input type="text" name="username" /></p>
<p>登录密码:<input type="text" name="password" /></p>
<p>重复密码:<input type="text" name="confirm-password" /></p>
<p>邮箱地址: <input type="text" name="email" /></p>
<p>出生日期:<input type="text" name="birthday" /></p>
<p>性别: <input id="sex-boy" name="sex" type="radio" value="1" /><label for="sex-boy">男</label> <input id="sex-girl" name="sex" type="radio" value="0" /><label for="sex-girl">女</label></p>
<p>真实姓名: <input type="text" name="truename" /></p>
<p>手机号: <input type="text" name="mobilephone" /></p>
<p><input type="submit" value="注册" /></p>
</form>
我们需要对这个注册表单进行验证。
1. 首先你需要在head区引用validation.js。
view plaincopy to clipboardprint?
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>html page that use validation.js </title>
<script type="text/javascript" src="validation.js"></script>
</head>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>html page that use validation.js </title>
<script type="text/javascript" src="validation.js"></script>
</head>
2. 然后添加class属性值required-validate到form标签, 以告诉框架,这个form需要验证。
view plaincopy to clipboardprint?
<form action="" method="post" class="required-validate" >
<form action="" method="post" class="required-validate" >我们从简单的开始: 用户名,登录密码,重复密码,以及邮箱地址这4项不能为空
3. 添加验证器required到input text 的class属性, 添加相应提示信息到title属性。
view plaincopy to clipboardprint?
<form action="" method="post" class="required-validate">
<p>用户名:<input type="text" name="username" class="required" title="请输入用户名" /></p>
<p>登录密码:<input type="text" name="password" class="required" title="请输入密码" /></p>
<p>重复密码:<input type="text" name="confirm-password" class="required" title="请再次输入密码" /></p>
<p>邮箱地址: <input type="text" name="email" class="required" title="请输入Email地址" /></p>
...
</form>
<form action="" method="post" class="required-validate">
<p>用户名:<input type="text" name="username" class="required" title="请输入用户名" /></p>
<p>登录密码:<input type="text" name="password" class="required" title="请输入密码" /></p>
<p>重复密码:<input type="text" name="confirm-password" class="required" title="请再次输入密码" /></p>
<p>邮箱地址: <input type="text" name="email" class="required" title="请输入Email地址" /></p>
...
</form>看看效果
可以看到,示例正常运行,但提示信息单调些。
4. 现在为它添加css,更好地显示提示信息。
view plaincopy to clipboardprint?
<style type="text/css">
<!--
body {
font-size: 12px;
}
.input-text {
border: 1px solid #999999;
}
.validation-failed {
border: 1px solid #FF3300;
}
.validation-advice {
color: #FF3300;
display: inline;
margin-left: 5px;
}
-->
</style>
<style type="text/css">
<!--
body {
font-size: 12px;
}
.input-text {
border: 1px solid #999999;
}
.validation-failed {
border: 1px solid #FF3300;
}
.validation-advice {
color: #FF3300;
display: inline;
margin-left: 5px;
}
-->
</style>看看效果validation-prompt , validation-passed, validation-failed 分别指定输入域 获取焦点, 验证通过,验证失败时的样式
validation-advice 指定提示信息的样式
validation-advice-prompt, validation-advice-passed, validation-advice-failed 分别指定输入域 获取焦点,验证通过,验证失败时,提示信息的样式
5. 更复杂的验证
下面我们为: 邮箱地址, 出生日期, 真实姓名, 手机号添加验证
真实姓名,我们要求2~4个汉字(尽管不是很合理(现在的baby的姓名越来越怪),但这里只是例子)
view plaincopy to clipboardprint?
<form action="" method="post" class="required-validate">
...
<p>邮箱地址: <input type="text" name="email" class="input-text required validate-email" title="请输入Email地址" failedmessage="请输入Email地址;Email地址格式不正确,请重新输入" /></p>
<p>出生日期:<input type="text" name="birthday" class="input-text validate-date-y-m-d" title="请正确输入出生日期(例1983-6-15)" /></p>
...
<p>真实姓名: <input type="text" name="truename" class="input-text<STRONG> validate-chinese validate-length-range-2-4</STRONG>" failedmessage="请正确输入您的真实姓名(2-4个中文汉字)" /></p>
<p>手机号: <input type="text" name="mobilephone" class="input-text <STRONG>validate-mobilephone</STRONG>" title="请正确输入您的手机号吗" /></p>
...
</form>
<form action="" method="post" class="required-validate">
...
<p>邮箱地址: <input type="text" name="email" class="input-text required validate-email" title="请输入Email地址" failedmessage="请输入Email地址;Email地址格式不正确,请重新输入" /></p>
<p>出生日期:<input type="text" name="birthday" class="input-text validate-date-y-m-d" title="请正确输入出生日期(例1983-6-15)" /></p>
...
<p>真实姓名: <input type="text" name="truename" class="input-text validate-chinese validate-length-range-2-4" failedmessage="请正确输入您的真实姓名(2-4个中文汉字)" /></p>
<p>手机号: <input type="text" name="mobilephone" class="input-text validate-mobilephone" title="请正确输入您的手机号吗" /></p>
...
</form>看看效果1. 可以在class属性中指定多个验证器。
2. 除required外,指定其它验证器时需要带前缀 validate-。
3. 可以指定验证器参数,见上例。
4. 框架默认会优先从failedmessage属性中取得错误提示信息,然后是title。
5. 如果对一个输入域指定了多个验证器,并且需要对每个验证器有不同的提示信息,默认采用分号";"分隔。
5. 框架默认会从输入域的: promptmessage, passedmessage, failedmessage分别取得 获取焦点,验证通过,验证失败 的提示信息
重复密码应该和登录密码录入一致,性别中应该二选一
view plaincopy to clipboardprint?
<form action="" method="post" class="required-validate">
...
<p>登录密码:<input id="userpassword" type="text" name="password" class="input-text required" title="请输入密码" /></p>
<p>重复密码:<input type="text" name="confirm-password" class="input-text validate-equals-userpassword" title="请再次输入密码"failedmessage="两次密码录入不一致,请重新输入" /></p>
...
<p>性别: <input id="sexboy" name="sex" type="radio" value="1" class="validate-required-any-sexgirl" failedmessage="请选择性别" /><label for="sexboy">男</label> <input id="sexgirl" name="sex" type="radio" value="0" /><label for="sexgirl">女</label></p>
...
</form>
<form action="" method="post" class="required-validate">
...
<p>登录密码:<input id="userpassword" type="text" name="password" class="input-text required" title="请输入密码" /></p>
<p>重复密码:<input type="text" name="confirm-password" class="input-text validate-equals-userpassword" title="请再次输入密码"failedmessage="两次密码录入不一致,请重新输入" /></p>
...
<p>性别: <input id="sexboy" name="sex" type="radio" value="1" class="validate-required-any-sexgirl" failedmessage="请选择性别" /><label for="sexboy">男</label> <input id="sexgirl" name="sex" type="radio" value="0" /><label for="sexgirl">女</label></p>
...
</form>
看看效果
很容易吧,我们没有写任何JS,就完成了对以上注册表单的验证。
我们使用过的内置验证器(validator)有: required, equals, email, date, required-any, chinese, length-range, mobilephone 当然可以看看内置验证器,以了解更多
如果您不喜欢上述HTML验证的方式 ,或者更愿意写JS(像我一样),或者有特别的验证需求, 完全可以 使用js对表单进行验证。
如果内置验证器不满足需求,可以添加自己的验证器。
如果默认的提示方式(Advice)不满足要求,可以定制自己的Advice。
可直接访问
http://www.bencode.cn/code/validation/doc/quickstart.html
使用方法相当简单,复杂验证的话,可以自己添加验证器
<form action="" method="post">
<p>用户名:<input type="text" name="username" /></p>
<p>登录密码:<input type="text" name="password" /></p>
<p>重复密码:<input type="text" name="confirm-password" /></p>
<p>邮箱地址: <input type="text" name="email" /></p>
<p>出生日期:<input type="text" name="birthday" /></p>
<p>性别: <input id="sex-boy" name="sex" type="radio" value="1" /><label for="sex-boy">男</label> <input id="sex-girl" name="sex" type="radio" value="0" /><label for="sex-girl">女</label></p>
<p>真实姓名: <input type="text" name="truename" /></p>
<p>手机号: <input type="text" name="mobilephone" /></p>
<p><input type="submit" value="注册" /></p>
</form>
<form action="" method="post">
<p>用户名:<input type="text" name="username" /></p>
<p>登录密码:<input type="text" name="password" /></p>
<p>重复密码:<input type="text" name="confirm-password" /></p>
<p>邮箱地址: <input type="text" name="email" /></p>
<p>出生日期:<input type="text" name="birthday" /></p>
<p>性别: <input id="sex-boy" name="sex" type="radio" value="1" /><label for="sex-boy">男</label> <input id="sex-girl" name="sex" type="radio" value="0" /><label for="sex-girl">女</label></p>
<p>真实姓名: <input type="text" name="truename" /></p>
<p>手机号: <input type="text" name="mobilephone" /></p>
<p><input type="submit" value="注册" /></p>
</form>
我们需要对这个注册表单进行验证。
1. 首先你需要在head区引用validation.js。
view plaincopy to clipboardprint?
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>html page that use validation.js </title>
<script type="text/javascript" src="validation.js"></script>
</head>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>html page that use validation.js </title>
<script type="text/javascript" src="validation.js"></script>
</head>
2. 然后添加class属性值required-validate到form标签, 以告诉框架,这个form需要验证。
view plaincopy to clipboardprint?
<form action="" method="post" class="required-validate" >
<form action="" method="post" class="required-validate" >我们从简单的开始: 用户名,登录密码,重复密码,以及邮箱地址这4项不能为空
3. 添加验证器required到input text 的class属性, 添加相应提示信息到title属性。
view plaincopy to clipboardprint?
<form action="" method="post" class="required-validate">
<p>用户名:<input type="text" name="username" class="required" title="请输入用户名" /></p>
<p>登录密码:<input type="text" name="password" class="required" title="请输入密码" /></p>
<p>重复密码:<input type="text" name="confirm-password" class="required" title="请再次输入密码" /></p>
<p>邮箱地址: <input type="text" name="email" class="required" title="请输入Email地址" /></p>
...
</form>
<form action="" method="post" class="required-validate">
<p>用户名:<input type="text" name="username" class="required" title="请输入用户名" /></p>
<p>登录密码:<input type="text" name="password" class="required" title="请输入密码" /></p>
<p>重复密码:<input type="text" name="confirm-password" class="required" title="请再次输入密码" /></p>
<p>邮箱地址: <input type="text" name="email" class="required" title="请输入Email地址" /></p>
...
</form>看看效果
可以看到,示例正常运行,但提示信息单调些。
4. 现在为它添加css,更好地显示提示信息。
view plaincopy to clipboardprint?
<style type="text/css">
<!--
body {
font-size: 12px;
}
.input-text {
border: 1px solid #999999;
}
.validation-failed {
border: 1px solid #FF3300;
}
.validation-advice {
color: #FF3300;
display: inline;
margin-left: 5px;
}
-->
</style>
<style type="text/css">
<!--
body {
font-size: 12px;
}
.input-text {
border: 1px solid #999999;
}
.validation-failed {
border: 1px solid #FF3300;
}
.validation-advice {
color: #FF3300;
display: inline;
margin-left: 5px;
}
-->
</style>看看效果validation-prompt , validation-passed, validation-failed 分别指定输入域 获取焦点, 验证通过,验证失败时的样式
validation-advice 指定提示信息的样式
validation-advice-prompt, validation-advice-passed, validation-advice-failed 分别指定输入域 获取焦点,验证通过,验证失败时,提示信息的样式
5. 更复杂的验证
下面我们为: 邮箱地址, 出生日期, 真实姓名, 手机号添加验证
真实姓名,我们要求2~4个汉字(尽管不是很合理(现在的baby的姓名越来越怪),但这里只是例子)
view plaincopy to clipboardprint?
<form action="" method="post" class="required-validate">
...
<p>邮箱地址: <input type="text" name="email" class="input-text required validate-email" title="请输入Email地址" failedmessage="请输入Email地址;Email地址格式不正确,请重新输入" /></p>
<p>出生日期:<input type="text" name="birthday" class="input-text validate-date-y-m-d" title="请正确输入出生日期(例1983-6-15)" /></p>
...
<p>真实姓名: <input type="text" name="truename" class="input-text<STRONG> validate-chinese validate-length-range-2-4</STRONG>" failedmessage="请正确输入您的真实姓名(2-4个中文汉字)" /></p>
<p>手机号: <input type="text" name="mobilephone" class="input-text <STRONG>validate-mobilephone</STRONG>" title="请正确输入您的手机号吗" /></p>
...
</form>
<form action="" method="post" class="required-validate">
...
<p>邮箱地址: <input type="text" name="email" class="input-text required validate-email" title="请输入Email地址" failedmessage="请输入Email地址;Email地址格式不正确,请重新输入" /></p>
<p>出生日期:<input type="text" name="birthday" class="input-text validate-date-y-m-d" title="请正确输入出生日期(例1983-6-15)" /></p>
...
<p>真实姓名: <input type="text" name="truename" class="input-text validate-chinese validate-length-range-2-4" failedmessage="请正确输入您的真实姓名(2-4个中文汉字)" /></p>
<p>手机号: <input type="text" name="mobilephone" class="input-text validate-mobilephone" title="请正确输入您的手机号吗" /></p>
...
</form>看看效果1. 可以在class属性中指定多个验证器。
2. 除required外,指定其它验证器时需要带前缀 validate-。
3. 可以指定验证器参数,见上例。
4. 框架默认会优先从failedmessage属性中取得错误提示信息,然后是title。
5. 如果对一个输入域指定了多个验证器,并且需要对每个验证器有不同的提示信息,默认采用分号";"分隔。
5. 框架默认会从输入域的: promptmessage, passedmessage, failedmessage分别取得 获取焦点,验证通过,验证失败 的提示信息
重复密码应该和登录密码录入一致,性别中应该二选一
view plaincopy to clipboardprint?
<form action="" method="post" class="required-validate">
...
<p>登录密码:<input id="userpassword" type="text" name="password" class="input-text required" title="请输入密码" /></p>
<p>重复密码:<input type="text" name="confirm-password" class="input-text validate-equals-userpassword" title="请再次输入密码"failedmessage="两次密码录入不一致,请重新输入" /></p>
...
<p>性别: <input id="sexboy" name="sex" type="radio" value="1" class="validate-required-any-sexgirl" failedmessage="请选择性别" /><label for="sexboy">男</label> <input id="sexgirl" name="sex" type="radio" value="0" /><label for="sexgirl">女</label></p>
...
</form>
<form action="" method="post" class="required-validate">
...
<p>登录密码:<input id="userpassword" type="text" name="password" class="input-text required" title="请输入密码" /></p>
<p>重复密码:<input type="text" name="confirm-password" class="input-text validate-equals-userpassword" title="请再次输入密码"failedmessage="两次密码录入不一致,请重新输入" /></p>
...
<p>性别: <input id="sexboy" name="sex" type="radio" value="1" class="validate-required-any-sexgirl" failedmessage="请选择性别" /><label for="sexboy">男</label> <input id="sexgirl" name="sex" type="radio" value="0" /><label for="sexgirl">女</label></p>
...
</form>
看看效果
很容易吧,我们没有写任何JS,就完成了对以上注册表单的验证。
我们使用过的内置验证器(validator)有: required, equals, email, date, required-any, chinese, length-range, mobilephone 当然可以看看内置验证器,以了解更多
如果您不喜欢上述HTML验证的方式 ,或者更愿意写JS(像我一样),或者有特别的验证需求, 完全可以 使用js对表单进行验证。
如果内置验证器不满足需求,可以添加自己的验证器。
如果默认的提示方式(Advice)不满足要求,可以定制自己的Advice。
- validation-1.2.10.rar (13.4 KB)
- 下载次数: 21
发表评论
-
div 显示隐藏
2014-08-15 11:01 651<html> <script> ... -
jquery 树形菜单
2011-08-12 15:40 769jquery树形菜单,功能很强大,有demo -
js 身份证号+滚动条
2010-06-03 13:57 823<script type="text/java ... -
js 单双引号
2010-03-18 10:45 852<script type="text/java ... -
树形下拉
2009-12-21 10:21 1083树形下拉,伸缩,备用 -
textarea 验证maxlength
2009-12-08 11:31 1248引用备用 如果只是單純地想限制 textarea 中的字數,不 ... -
js 打印功能
2009-12-07 14:01 921function printInfo() { var pr ... -
js添加table
2009-10-26 12:41 1131IE 和FF浏览器都可以用 1.向comp_table中添加 ... -
list或其他转json
2009-10-17 15:22 2279引用转自网络,也许会用上 package com.autoto ... -
js获得div中的text并变灰,不可用
2009-10-14 11:29 4832<html> <body> <s ... -
js图片
2009-09-30 17:16 630附件中的js图片显示 -
树形下拉
2009-09-30 09:38 887<!DOCTYPE html PUBLIC " ... -
js获取行数和列数
2009-09-08 14:23 2072引用来自http://www.blogjava.net/kew ... -
js删除tr
2009-09-08 12:43 5739引用以下来自网络摘 <html> <he ... -
用户选择完后在获得所选的checkbox
2009-09-01 18:05 791function getTrace_Id(){ ... -
js日期相减
2009-09-01 17:50 4173<!DOCTYPE html PUBLIC " ... -
js获得当前日期和昨天日期
2009-09-01 15:44 4718function getSysDate(){ var ... -
js 处理 text的半角逗号
2009-08-26 15:35 1476<html> <script> ... -
js获得选中chencbox的nama
2009-07-31 12:56 915<html> <head> < ... -
my97時間控件
2009-07-23 10:28 1634<!DOCTYPE html PUBLIC &quo ...
相关推荐
js验证数字方法js验证数字方法js验证数字方法js验证数字方法js验证数字方法
js表单验证、js导出excel、js验证js表单验证、js导出excel、js验证
js验证银行卡号
JS验证表单大全,常用的
js验证居民身份证,就这么简单,你懂得~
js validate 非常强大的js验证框架 验证 js Validate js验证
javascript验证表单大全 1. 长度限制 2. 只能是汉字 3." 只能是英文 4. 只能是数字 5. 只能是英文字符和数字 6. 验证油箱格式 7. 屏蔽关键字(这里屏蔽***和****) .................
问题:1.js验证只能输入数字. 2.js验证只能输入字母.数字和下划线. 3.js验证固定电话:只能是数字.并且有相应的格式028-67519441 或者 0839-8777222或者 028-6545124 的答案!
js验证代码大全
js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js验证js...
js 验证js 验证js 验证js 验证js 验证js 验证js 验证js 验证js 验证js 验证
js验证邮箱、qq号、手机电话
js验证身份证号码的有效方法 js验证身份证号码的有效方法 js验证身份证号码的有效方法 js验证身份证号码的有效方法 js验证身份证号码的有效方法 js验证身份证号码的有效方法js验证身份证号码的有效方法
Javascript 验证函数库 如果您需要此函数库,请下载
js 图片 验证上传图片 大小 格式
JS验证_密码用户名手机号码用户姓名,进行良好的前端校验
简单方便易于修改的FORM 表单 JS验证!
对营业执照、组织结构代码证、身份证、固定电话的js验证
很好的javascript验证,适合每个阶段
收罗了JS里面一些关于字符的类型、长度验证,以及鼠标的屏蔽、输入的合法性验证等