<script>
/*************************************************
Validator v1.05
code by 我佛山人
[email]wfsr@msn.com[/email]
*************************************************/
Validator = {
Require : /.+/,
Email : /^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$/,
Phone : /^((/(/d{2,3}/))|(/d{3}/-))?(/(0/d{2,3}/)|0/d{2,3}-)?[1-9]/d{6,7}(/-/d{1,4})?$/,
Mobile : /^((/(/d{2,3}/))|(/d{3}/-))?13/d{9}$/,
Url : /^http:////[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-&_~`@[/]/':+!]*([^<>/"/"])*$/,
IdCard : "this.IsIdCard(value)",
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]+$/,
Chinese : /^[/u0391-/uFFE5]+$/,
Username : /^[a-z]/w{3,}$/i,
UnSafe : /^(([A-Z]*|[a-z]*|/d*|[-_/~!@#/$%/^&/*/./(/)/[/]/{/}<>/?/////'/"]*)|.{0,5})$|/s/,
IsSafe : function(str){return !this.UnSafe.test(str);},
SafeString : "this.IsSafe(value)",
Filter : "this.DoFilter(value, getAttribute('accept'))",
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|0) && (value|0) < 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 : ["以下原因导致提交失败:/t/t/t/t"],
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 "IdCard" :
case "Date" :
case "Repeat" :
case "Range" :
case "Compare" :
case "Custom" :
case "Group" :
case "Limit" :
case "LimitB" :
case "SafeString" :
case "Filter" :
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;
},
DoFilter : function(input, filter){
return new RegExp("^.+/.(?=EXT)(EXT)$".replace(/EXT/g, filter.split(//s*,/s*/).join("|")), "gi").test(input);
},
IsIdCard : function(number){
var date, Ai;
var verify = "10x98765432";
var Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
var area = ['','','','','','','','','','','','北京','天津','河北','山西','内蒙古','','','','','','辽宁','吉林','黑龙江','','','','','','','','上海','江苏','浙江','安微','福建','江西','山东','','','','河南','湖北','湖南','广东','广西','海南','','','','重庆','四川','贵州','云南','西藏','','','','','','','陕西','甘肃','青海','宁夏','新疆','','','','','','台湾','','','','','','','','','','香港','澳门','','','','','','','','','国外'];
var re = number.match(/^(/d{2})/d{4}(((/d{2})(/d{2})(/d{2})(/d{3}))|((/d{4})(/d{2})(/d{2})(/d{3}[x/d])))$/i);
if(re == null) return false;
if(re[1] >= area.length || area[re[1]] == "") return false;
if(re[2].length == 12){
Ai = number.substr(0, 17);
date = [re[9], re[10], re[11]].join("-");
}
else{
Ai = number.substr(0, 6) + "19" + number.substr(6);
date = ["19" + re[4], re[5], re[6]].join("-");
}
if(!this.IsDate(date, "ymd")) return false;
var sum = 0;
for(var i = 0;i<=16;i++){
sum += Ai.charAt(i) * Wi[i];
}
Ai += verify.charAt(sum%11);
return (number.length ==15 || number.length == 18 && number == Ai);
},
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]*1;
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]*1;
year = (m[5].length == 4) ? m[5] : GetFullYear(parseInt(m[6], 10));
break;
default :
break;
}
if(!parseInt(month)) return false;
month = month==0 ?12:month;
var date = new Date(year, month-1, day);
return (typeof(date) == "object" && year == date.getFullYear() && month == (date.getMonth()+1) && day == date.getDate());
function GetFullYear(y){return ((y<30 ? "20" : "19") + y)|0;}
}
}
</script>
<form onSubmit="return Validator.Validate(this,3)" action="your_application_page" method="post">
<input name="Email" dataType="Email" msg="信箱格式不正确">
<input type="submit">
</form>
分享到:
相关推荐
本资源"checkForm_表单验证_javascript_"专注于使用纯JavaScript实现这一功能,对于JavaScript初学者来说是一个很好的实践项目。 JavaScript是一种广泛使用的客户端脚本语言,它在浏览器环境中运行,可以动态地更新...
理解DOM节点、属性、事件和选择器是创建动态网页的关键,这使得开发者能够动态加载内容、更新UI、实现表单验证等功能。 书中还深入讨论了CSS选择器的使用,这是JavaScript与样式关联时的重要工具。通过掌握CSS选择...
**二、JavaScript表单美化** 1. **动态验证**:JavaScript可以实时验证用户输入,比如检查邮箱格式、手机号码合法性等,同时提供实时反馈,如红色边框或错误提示。 2. **增强交互**:JavaScript可以实现表单元素的...
比较实用的javascript做的表单验证,验证的表单域包括用户名、密码、密码确认、密码提示问题、邮箱、手机号码、身份证。表单域基本通过获得焦点显示提示信息,失去焦点进行验证,还有提交表单验证。提交表单先进行...
4. **JavaScript特殊效果**:在描述中提到的"特殊效果"可能包括但不限于动画(如滑动、淡入淡出、旋转等)、响应式设计、表单验证、图表绘制、时间线展示等。这些效果增强了用户体验,使网页更具吸引力。 5. **JSP...
_JavaScript表单验证实例 js 前端 例子_JavaScript表单验证实例 js 前端 例子
以下是对给定文件中涉及的一些JavaScript表单验证技术的详细解释: 1. 长度限制:通过检查`value.length`属性来限制文本框的字符数。例如,`if(document.a.b.value.length>50)`检查输入的长度是否超过50个字符,...
本文将深入探讨"javascript表单验证方式一",介绍如何利用JavaScript进行表单验证,确保用户输入的数据符合预设规则,提高用户体验,同时也减轻了服务器端的压力。 首先,表单验证的基本目标是检查用户在HTML表单中...
6. **表单验证**:这个插件提供了强大的验证功能,能自动检查用户输入的数据是否符合预设规则,如电子邮件格式、手机号码格式等。通过使用代码示例,开发者可以轻松集成和自定义验证逻辑。 在实际应用中,开发者会...
在表单验证中,JavaScript可以通过监听表单的`submit`事件来阻止默认提交行为,然后逐个检查输入字段的值。可以使用`document.getElementById`或`document.querySelector`等方法获取表单元素,再利用`value`属性获取...
在Web应用中,表单验证是必不可少的一环,它用于确保用户提交的数据符合预期的格式和规则,从而防止无效数据的入库,提高数据质量,并在一定程度上保障系统的安全性。以下将详细解释这个项目中的关键知识点: 1. **...
在这个"checkphonenumber.rar_javascript_手机号码验证"的压缩包文件中,我们主要关注的是如何使用JavaScript来验证用户输入的手机号码是否合法。手机号码验证是网络表单数据验证的重要组成部分,确保用户提交的数据...
### 使用JavaScript语言进行表单验证 #### JavaScript与表单验证的重要性 随着互联网技术的飞速发展,表单作为用户向服务器提交数据的主要方式之一,在现代Web应用中扮演着至关重要的角色。为了确保提交的数据准确...
一、JavaScript表单验证的重要性 1. 提高用户体验:通过实时验证,用户可以立即得知输入是否有效,无需等待服务器响应,减少了用户的等待时间。 2. 减轻服务器压力:如果所有验证都由服务器完成,会增加不必要的...
例如,点击按钮触发函数,实现表单验证或者页面跳转。 AJAX: Asynchronous JavaScript and XML(异步JavaScript和XML)是用于创建动态网页的技术,允许在不刷新整个页面的情况下与服务器交换数据并更新部分网页...
4. **表单验证**:在HTML表单中,可以使用`required`属性进行基本验证,但更复杂的验证需要JavaScript介入,例如`onsubmit`事件处理函数。 5. **异步验证**:对于需要服务器端验证的情况,可以使用`fetch`或`...
JavaScript通常在前端用于增强用户体验和表单验证。它可以实时检查用户输入,防止无效数据提交到服务器。在用户登录场景中,JavaScript可以验证: - **字段非空**:确保用户名和密码字段已填写。 - **格式验证**:...
javascript验证表单工具,各种常用表单验证的正则表达式。
实验报告的标题“JavaScript程序设计——页面设置与表单验证实验报告.docx”涉及的核心是JavaScript编程中的两个关键领域:页面设置和表单验证。在Web开发中,JavaScript是一种常用的客户端脚本语言,用于增强用户的...
3. **表单验证**:通过`required`属性或自定义函数验证用户输入,例如检查电子邮件的`pattern`属性是否符合电子邮件的标准格式。 4. **AJAX异步通信**:为了在不刷新页面的情况下发送表单数据,可能使用了AJAX...