博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
客户端AJAX验证表单
阅读量:6305 次
发布时间:2019-06-22

本文共 5002 字,大约阅读时间需要 16 分钟。

简单的客户端验证用户名、密码、年龄、日期信息,提交表单时服务器还是要再验证的。

JS代码:

function ajax(url) {            xmlhttp = "";            if (window.ActiveXObject) {
//判定游览器,不同游览器声明对象不一样。 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else { alert("请使用先进的游览器~"); return false; } xmlhttp.open("post", url, false);//提交的数据 xmlhttp.onreadystatechange = function () { if (xmlhttp.readyState == 4) { if (xmlhttp.status == 200) { //提交成功 valuetext = xmlhttp.responseText; //返回数据 } else { alert("请求错误"); return false; } } } xmlhttp.send();//开始发送数据 return valuetext; } function formblur() { var ul = document.getElementById("formul"); var liinput = ul.getElementsByTagName("input"); //获取所有input var img = "";//验证成功图片地址 for (i = 0; i < liinput.length; i++) { var input = liinput[i]; //判定input类型 if (input.type == "text" || input.type == "password") { input.index = i; input.onblur = function () { var ul = document.getElementById("formul"); var li = ul.getElementsByTagName("li"); //index为遍历所有input的属性。 var span = li[this.index].getElementsByTagName("span");//li元素中的span span[1].style.color = "red"; if (this.value != "") { //用户是否输入内容 span[1].innerHTML = img;//当前span显示图片 var num = this.index; if (num == 0) { //验证用户名是否重复 if (ajax("form.ashx?name=" + this.value) == "success") { span[1].innerHTML = img; } else { span[1].innerHTML = "用户名已存在"; } } else if (num == 1) { //验证密码长度 if (this.value.length >= 6) { span[1].innerHTML = img; } else { span[1].innerHTML = "密码必须大于等于6位数"; } } else if (num == 2) { //验证年龄 if (!isNaN(this.value)) { if (this.value > 0 && this.value < 120) { span[1].innerHTML = img; } else { span[1].innerHTML = "年龄必须大于0"; } } else { span[1].innerHTML = "年龄输入错误"; } } else if (num == 3) { //验证日期,只是简单的判断,没有闰年和月份的具体日分。 var reg = /^[1,2][90]\d{2}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[0-1])$/ig; if (reg.test(this.value)) { span[1].innerHTML = img; } else if (input.value != "") { span[1].style.color = "red"; span[1].innerHTML = "出生日期错误或者格式错误,正确格式2012-10-10"; } else { span[1].innerHTML = "请输入正确的信息"; } } else { span[1].innerHTML = "请输入正确的信息"; } } } } } }

HTML代码:

  • 用户名
  • 密码
  • 年龄
  • 日期

form.ashx 验证用户名代码:

public void ProcessRequest(HttpContext context)        {            string name=context.Request["name"];            if (name != null)            {                //强类型DateSet                if (Convert.ToInt32(new _001TableAdapter().Getname(name).Rows.Count.ToString()) > 0)                {                    context.Response.Write("no");                }                else                {                    context.Response.Write("success");                }            }                 }

转载于:https://www.cnblogs.com/lideyang/archive/2012/10/18/2729650.html

你可能感兴趣的文章
【转】Java中字符串中子串的查找共有四种方法(indexof())
查看>>
IIS 之 托管管道模式
查看>>
双显卡安装Fedora 20
查看>>
异常处理
查看>>
javax.xml.ws.soap.SOAPFaultException: 没有Header,拦截器实施拦截
查看>>
Activity启动模式 及 Intent Flags 与 栈 的关联分析
查看>>
Java知多少(65)线程的挂起、恢复和终止
查看>>
response.setHeader各种使用方法
查看>>
OutputCache祥解
查看>>
jquery序列化form表单使用ajax提交后处理返回的json数据
查看>>
less命令
查看>>
[译] Paxos算法详解
查看>>
在Eclipse在使用JUnit4单元测试(0基础知识)
查看>>
Linq之Lambda表达式初步认识
查看>>
cas改造随笔
查看>>
Linux命令-某个用户组下面的所有用户
查看>>
【面试笔试】Java常见面试笔试总结
查看>>
java动态代理技术
查看>>
《大话设计模式》--外观模式
查看>>
基于ngx_lua的动态服务路由方案
查看>>