javascript 验证码验证的一个小问题

如何验证一个textbox里面输入的是有效的身份证号码和信用卡号码?-javascript-电脑编程网如何验证一个textbox里面输入的是有效的身份证号码和信用卡号码?作者:HappyNicole 和相关&&如何验证一个textbox里面输入的是有效的身份证号码?18位的……信用卡号码又是如何验证呢?都要求用JS实现啊?求大家帮忙啊……谢谢------回答---------------其他回答(10分)---------正在学习中,,,,,,,顶一下!!!!!!!!!!!!------其他回答(10分)---------顶一下!!!!!!!!!!!!------其他回答(20分)---------
这个用很容易实现,楼主可以去学习一下script中的,不是很难,很容易理解的。
相关资料:|||||||如何验证一个textbox里面输入的是有效的身份证号码和信用卡号码?来源网络,如有侵权请告知,即处理!编程Tags:                &                    解决myeclipse验证javascript导致速度变慢的问题(转载) - java技术交流 - ITeye技术网站
博客分类:
以前一直用Eclipse这次装了一个MyEclipse使用后.发现很多问题.其中最突出的一个就是Save保存文件的时候总是会验证一大堆的东西..
其中以验证JS的时间最长.而且会老是弹出一个验证框 去掉MyEclipse - Validation - JavaScript
Validator 的 Manual和Build都没用..
最后找到在项目路径下面的.project文件中配置了一些验证信息.
&buildCommand&
&name&org.eclipse.wst.jsdt.core.javascriptValidator&/name&
&arguments&
&/arguments&
&/buildCommand&
---------------------------------------------------------------------------
&nature&org.eclipse.wst.jsdt.core.jsNature&/nature&
把这两句去掉就OK了....速度明显快起来... 不用老是弹出那个红色框.弹多了心里就会烦躁了.
浏览: 109427 次
.cn/s/blog_ ...
好吧~~~~~~~~
Iterator itr = items.iterator() ...MyEclipse8.5 删除J2EE项目中的JavaScript验证 - 来杯咖啡,随便聊聊。 - ITeye技术网站
博客分类:
MyEclipse中J2EE项目中的JavaScript验证,不准吧,还使得项目中带着一个错误提示,不爽,就想着把它整掉,折腾了一番发现就是项目设置的问题。 在J2EE项目上点右键,然后如下图设置,将Javascript 的Validation去掉,然后clear项目。ok成功。
1.项目上点右键 Properties-&MyEclipse-&Validation
2.去掉Javascript 的Validation选项,点ok。
3.clear项目,重新编译。
浏览: 1143454 次
来自: 北京
解决了我的问题,我本来是启动jetty服务的,但还是有问题, ...
jingyemingyue 写道楼主,你的方法没有试过,但是好 ...
1111111 ...
写错了,改动下,返回的是java.util.Arrays$Ar ...
楼主,刚好我也碰到这种问题了,既然你说是“使用了Java里面未 ...3162人阅读
需求分析:
&&&&& 在做上传图片的时候,如果不限制上传图片大小,后果非常的严重。那么我们怎样才可以解决一个棘手的问题呢?有两种方式:
&&&& 1)后台处理: 也就是AJAX POST提交到后台,把图片上传到服务器上,然后获得该图片大小做处理。
&&&& 2)前台处理: 也就是利用Javascript获取该图片大小。
显然第一种方式,很不好。因为需要把文件先上传到服务器上,如果文件很大的话,在加上网不是很快,需要等待好长时间,治标不治本。
功能解析:
&&&& 在这里我只介绍IE与FireFox两个浏览器的不同做法。
&&&& IE6:
&&&& 关键字: fileSize&&& onreadystatechange&&& complete
&&&&&&&& 在IE6中可以通过Img对象的fileSize
属性获得文件大小,但这个fileSize属性的正确值是建立在onreadystatechange
事件的complete
中,也就是
&&&&&& &img src=&& class=&img&
onreadystatechange=&Javascript:sizeCheck(this);&&
function sizeCheck(img) {
if(img.readyState == &complete&) {
alert(img.fileSize);
&&& FireFox3.0:
&&& 关键字: getAsDataURL()&&& fileSize
&&&&&&&&& 在FireFox中处于安全的考虑,无法获得上传图片的完整路径,只能获得图片名称。但浏览器提供nsIDOMFile這樣一個接口,所以需要通过getAsDataURL()获得处理过后的路径,但该路径不影响图片src显示。
&&&&&& nsIDOMFile接口:
DOMString getAsBinary();
DOMString getAsDataURL();
DOMString getAsText(in DOMString encoding);
&&&& &input type=&file& name=&uploadImg&
onchange=&Javascript:checkFileChange(this);&
size=&12&/&
function checkFileChange(obj) {
var img = document.getElementById(&img&);
img.src = obj.files[0].getAsDataUrl();
alert(obj.files[0].fileSize);
以上是两个不同浏览器的处理方式,那么怎么把他们融和到一起呢?我在下面会将我做的小例子贴出来,其中里面我使用JQuery,方便与获取对象。
&!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& xml:lang=&zh& lang=&zh& dir=&ltr&&
&meta http-equiv=&Content-Type& content=&text/ charset=utf-8& /&
&script type=&text/javascript& src=&lib/jquery-1.3.2.min.js& &&/script&
&title&检查上传图片大小&/title&
&style type=&text/css&&
.img {width:136height:102}
.imgError{border:3}
&script type=&text/javascript&&
//限制上传图片大小100K
var MAXSIZE = 100 * 1024;
//图片大小限制信息
var ERROR_IMGSIZE = &图片大小不能超过100K&;
//默认图片
var NOPHOTO = &imgs/nophoto.gif&;
//图片是否合格
var isImg =
* Input file onchange事件
* @params obj file对象
* @return void
function checkFileChange(obj) {
//初始化设置
$(&.imgTable&).removeClass(&imgError&);
updateTips(&&);
var img = $(&.img&).get(0);
var file = obj.
var exp = /./.jpg|./.gif|./.png|./.bmp/i;
if (exp.test(file)) {//验证格式
if($.browser.msie) {//判断是否是IE
img.src = obj.files[0].getAsDataURL();
sizeCheck(img);
img.src = NOPHOTO;
$(&.imgTable&).addClass(&imgError&);
updateTips(&图片格式不正确&);
* sizeCheck 检查图片大小
* @params img 图片对象
* @return void
function sizeCheck(img) {
//初始化设置
$(&.imgTable&).removeClass(&imgError&);
updateTips(&&);
if ($.browser.msie) {//查看是否是IE
if(img.readyState == &complete&) {
if (img.fileSize & MAXSIZE) {
$(&.imgTable&).addClass(&imgError&);
updateTips(ERROR_IMGSIZE);
$(&.imgTable&).addClass(&imgError&);
updateTips(ERROR_IMGSIZE);
var file = $(&input:file[name='uploadImg']&)[0];
if (file.files[0].fileSize & MAXSIZE) {
$(&.imgTable&).addClass(&imgError&);
updateTips(ERROR_IMGSIZE);
* updateTips 注册错误信息显示
* @params str 显示内容
* @return void
function updateTips(str) {
$(&p#errorTips&).text(str);
* commit 注册提交
* @return void
function commit() {
var isCommit =
var usrname = $(&input:text[name='usrname']&),
= $(&input:text[name='email']&),
= $(&.img&),
= $(&input:file[name='uploadImg']&),
= document.
isCommit = isCommit && isI
if(isCommit) {
frm.action = &about:blank&;
frm.submit();
* errorImg 图片错误显示
* @params img 图片对象
* @return void
function errorImg(img) {
img.src = NOPHOTO;
&form name=&frm& method=&post&&
&p id=&errorTips&&&&/p&
&table cellpadding=&1& cellspacing=&0& width=&350px& border=&1&&
&td&&label&姓名:&/label&&/td&
&td&&input type=&text& name=&usrname& maxlength=&50&/&&/td&
&td&&label&性别:&/label&&/td&
&td&&input type=&radio& name=&sex& value=&0&/&男&input type=&radio& name=&sex& value=&0&/&女&/td&
&td&&label&邮件:&/label&&/td&
&td&&input type=&text& name=&email& maxlength=&100&/&&/td&
&td&&lable&图像&/label&&/td&
&table cellpadding=&0& cellspacing=&0& class=&imgTable&&
&td&&img src=&imgs/nophoto.gif& mce_src=&imgs/nophoto.gif& class=&img& alt=&头像& onerror=&Javascript:errorImg(this);&
onreadystatechange=&Javascript:sizeCheck(this);&/&
&td&&input type=&file& name=&uploadImg& onchange=&Javascript:checkFileChange(this);&
size=&12&/&&/td&
&td colspan=&2&&&a href=&Javascript:commit();& mce_href=&Javascript:commit();&&注册&/a&&/td&
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:106337次
积分:2028
积分:2028
排名:第7703名
原创:98篇
评论:17条
(2)(1)(1)(4)(2)(1)(1)(1)(5)(9)(1)(4)(6)(1)(1)(2)(4)(1)(2)(2)(3)(3)(7)(3)(4)(3)(1)(3)(2)(2)(5)(8)(9)求助 javascript 中表单的各种验证方法
求助 javascript 中表单的各种验证方法
来电子邮件说明下问题:&html&&script type=&text/javascript&& function checkForm(){
ifcheckEmail())
} }function checkEmail() {
var Email = document.myform.txtE
if(Email.value==&&)
alert(&请输入电子邮件&);
Email.focus();
} }&/script&&body&&form method=&post& action=&../../上机4/阶段1/JS 阶段 1.html& name=&myform& &
&input type=&text& name=&txtEmail& id=&Email& onblur=isEmail(this.value) /&
&/form&&/body&&/html&
求此段代码的完善、、、(用/^(?:\w+\.?)*\w+@(?:\w+\.)+\w+$/这类似的方法)另:有关表单验证的方法 知道的顺便发下:整数认证什么的、、要表单验证的 不要直接写文本框的那种
&script type=&text/javascript&&
function validate_email(field,alerttxt)
with (field)
apos=value.indexOf(&@&)
dotpos=value.lastIndexOf(&.&)
if (apos&1||dotpos-apos&2)
{alert(alerttxt);return false}
else {return true}
} }function validate_form(thisform) {
with (thisform)
if (validate_email(email,&Not a valid e-mail address!&)==false)
{email.focus();return false}
&/head&&body&
&form action=&submitpage.htm&
onsubmit=&return validate_form(this);&
method=&post&&
Email: &input type=&text& name=&email& size=&30&&
&input type=&submit& value=&Submit&&
&/body&&/html&
用/^(?:\w+\.?)*\w+@(?:\w+\.)+\w+$/这类似的方法
&script language=&javascript&& &!-- function checkform() {
if (document.form1.email.value.length == 0) {
alert(&请输入您的邮箱!&); document.form1.email.focus();
} if (email!=&&)
var re=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
var email = document.form1.email.
if(!re.test(email))
alert(&邮箱地址无效!&);
document.form1.email.value=&&;
document.form1.email.focus();
} --& &/script&
其他回答 (2)
前言
任何可以交互的站点都有输入表单,只要有可能,就应该对用户输入的数据进行验证。无论服务器后端是什么样的系统,都不愿意把时间浪费在一些无效的信息上,必须对表单数据进行校验,若有不符合规定的表单输入,应及时返回并给出相应的提示信息。本文将列举四种不同原理的表单验证方法,并给出各方法在 PHP 服务器上的实现。
浏览器端验证
传统上,表单数据一般都通过浏览器端的 Javascript 验证。浏览器端的验证速度快,若有不符合要求的输入,响应信息快速的返回给用户。由于验证数据不需要提交给服务器,不会加重服务器的负载。一个浏览器端验证的过程如图 1 所示,表单提交,若通过验证则提交服务器处理,不成功则回馈给用户。图 1. 浏览器端验证原理图
本文给出的各种表单验证方法 源代码 均以一个简单的表单为例,该表单包含“UserName”和“Password”两个文本输入框,及一个“Submit”按钮。代码清单 1 给出了浏览器端 Javascript 验证的例子。若“UserName”或“Password”输入不符合要求,通过弹出框的形式提示用户,并返回 false, 停止表单提交。清单 1. 浏览器端 Javascript 验证代码
function validform(thisForm)
error_string = &&;
if((message=checkusername(thisForm.username))!=&&)
error_string=&UserName:&
error_string +=
alert(error_string);
if((message = checkpassword(thisForm.pass))!=&&)
error_string=&Password:&
error_string +=
alert(error_string);
return true;
从图 1 可以看出这种表单验证方法有一个致命的缺点,很多工具可以在表单检验过后、浏览器发送请求前截取表单数据,攻击者可以修改请求中的数据,从而绕过 JavaScript,将恶意数据注入服务器,这样会增加 XSS(全称 Cross Site Scripting)攻击的机率。对于一般的网站,都不赞成采用浏览器端的表单验证方法。
浏览器端和服务器端双重验证
浏览器端和服务器端双重验证方法在浏览器端验证方法基础上增加服务器端的验证,其原理如图 2 所示,该方法增加服务器端的验证,弥补了传统浏览器端验证的缺点。若表单输入不符合要求,浏览器端的 Javascript 验证能很快地给出响应,而服务器端的验证则可以防止恶意用户绕过 Javascript 验证,保证最终数据的准确性。图 2. 浏览器端和服务器端双重验证原理图
除了客户端 Javascript 验证,该方法增加了服务器端的 PHP 验证,示例代码如清单 2 所示,checkusername() 和 checkpassword() 是 PHP 语言 编写的两个验证接口函数,根据 $error 结果,确定表单的有效性。清单 2. 服务器端表单的 PHP 验证
if(isset($_POST['username']))
= checkusername($_POST['username']);
if($usermsg != '')
if(isset($_POST['pass']))
$passmsg = checkpassword($_POST['pass']);
if($passmsg != '')
此方法的缺点一目了然,必须维护两份代码实现相同的功能,增加开发人员的工作量,不利于后续开发。浏览器端和服务器端双重验证方法也存在一个风险,对有些表单验证的规则服务器也许不想公开给用户,而浏览器拷贝了服务器端验证的功能,向用户公布验证规则。
服务器端验证
综合上述两种验证方法,现在考虑使用服务器端的验证方法,该方法结构非常简单,其原理如图 3 所示。客户端负责表单提交,服务器端验证表单,若发现错误数据,则回传表单页面,错误信息被加到同一页面中。若验证通过,则处理表单。图 3. 服务器端验证原理图
此方法在遇到非法输入需要回传表单时,除了加载错误提示信息在此页面上,还必须注意,此时表单内容必须维持表单提交时的用户输入,这样用户才能将错误的表单输入与错误提示信息联系起来,有助于用户填入正确的输入。可以借助 DOM 技术 中的 appendChild 功能追加显示相关的错误的提示信息,其实现如代码清单 3 所示,其效果可以参考图 4。清单 3. 利用 DOM 技术实现提示信息代码
find_obj = document.getElementsByName(&username&);
var sp1 = document.createElement('span');
sp1.className= 'formerror';
sp1.appendChild(document.createTextNode(usermsg));
find_obj[0].parentNode.appendChild(sp1);
find_obj = document.getElementsByName(&pass&);
var sp2 = document.createElement('span');
sp2.className= 'formerror';
sp2.appendChild(document.createTextNode(passmsg));
find_obj[0].parentNode.appendChild(sp2);
图 4. 加载错误信息效果图
由于验证交由服务器端处理,该方法的输入响应速度不如浏览器端验证,主要受网络繁忙及服务器荷载的影响。同时,若同一页面的其他表单耗时较大,此回传页面方法的响应时间会进一步加大。
基于 Ajax 技术的验证
基于 Ajax 技术的表单验证技术综合了服务器端验证,浏览器端及服务器端双重验证方法的优点,摒弃了两者的缺点。服务器端验证方法结构清晰,可以防止恶意攻击,其主要问题在于若输入错误表单信息,需重传整个页面,同时若同一页面有多个表单,回传整个页面可能会增加用户等待的时间。浏览器端及服务器端的双重验证响应速度快,其问题在于代码冗余。
基于 Ajax 技术的验证方法也需要做两次验证:首先是回馈验证,无论表单数据准确与否,服务器均给出反馈信息,其作用等同于双重验证中的浏览器端的验证;表单处理前的验证防止恶意修改,其作用等同于双重验证中的服务器端的验证。其原理如图 5 所示,一旦有表单提交,首先构建表单信息字段,交由 Ajax engine 发送给服务器端验证,服务器将验证结果发送给用户,客户端根据回馈信息,判断表单输入是否正常,在 Ajax 技术下,对用户而言,以上操作均在后台运行,不会影响当前页面各表单的状态。若是非法输入,则回馈提示信息给用户;若是正常输入,客户端将按照正常方法提交表单。为了防止恶意修改,表单处理之前还需验证,此步验证与之前验证共用代码。图 5. 基于 Ajax 技术验证原理图
有关 Ajax 技术的知识,可以参考 developerWorks 上的 系列文章。Ajax 核心概念之一是 XMLHttpRequest 对象,这是一个 JavaScript 对象,创建该对象时,各种浏览器方法有所不同,具体实现可以参考 源代码。
回馈验证主要涉及两个问题:首先是构建验证字段,其次是回馈信息的格式。
由于验证字段和正常表单字段共用验证代码,验证字段格式完全遵循表单提交时的格式。为某表单构建验证字段代码如清单 4 所示。其中 checkflag 字段的作用是区分两种验证。清单 4. 构建验证字段代码
var postData = &&;
var fields = form.
for (var i=0; i & fields. i++) {
if (fields[i].name != &&) {
type = fields[i].
if ((type == 'radio') || (type == 'checkbox')) {
if (!fields[i].checked) { }
if ((type == 'submit')&&(!(fields[i].name == submitName))) {
if (postData) { postData += &&&; }
postData += fields[i].name + &=& + encodeURIComponent(fields[i].value);
postData += &&checkflag=1&;
回馈信息主要在浏览端的 Javascript 中处理,不同的格式需要不同的处理方法。在传统 Ajax 动态页面处理中,回馈信息包含大量信息,采用 xml 格式,可以借助 DOM 技术处理,简化程序。在本例中,回馈信息只包含验证结果信息,简单数据格式就能满足要求,客户端的 Javascript 分析回馈信息,根据结果确定是否提交完整的表单,具体实现请参考源代码。
基于 Ajax 技术的验证方法代码相对比较复杂,错误的表单需要来回两次网络交互,而正确的提交则需要三次网络交互。该验证方法的响应时间与网络繁忙程度有很大的关系。相对于纯服务器端验证,该方法在验证阶段不需要重新下载整个页面,在多个表单共存在同一页面的场合,基于 Ajax 技术的验证方法不会影响同一页面的其它表单。
你的意思是用正则表达式检测?
function isEmail(strEmail) { if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
}这是一个简单的验证邮箱的正则函数,其中验证该字符串中必须含有@ .等这些你可以参考在自己修改下。
相关知识等待您来回答
网页制作领域专家}

我要回帖

更多关于 javascript验证 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信