`
ko8e
  • 浏览: 52141 次
  • 性别: Icon_minigender_1
  • 来自: 龙岩
社区版块
存档分类
最新评论

javascript脚本验证大全

 
阅读更多
有关正则表达式
1.只能输入数字和英文的:

<input onkeyup="value=value.replace(/[\W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text1" NAME="Text1">


2.只能输入数字的:
<input onkeyup="value=value.replace(/[^\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" ID="Text2" NAME="Text2">


3.只能输入全角的:
<input onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))" ID="Text3" NAME="Text3">


4.只能输入汉字的:
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))" ID="Text4" NAME="Text4">


--------------------------------------------------------------------------------

验证非法字符,sql
function vdf() 
{
var i,j,name,value,message,length,type,a=vdf.arguments,cb_name;
for (i=0; i<(a.length-2); i+=3) 
{
if (a[i].indexOf('#')!=-1)
{
name=fob(a[i].substr(0,a[i].indexOf('#')));
cb_name=fob(a[i].substr((a[i].indexOf('#')+1),a[i].length));
}
else
{
name=fob(a[i]); // 控件名称
}
message=a[i+1]; // 提示信息
type=a[i+2]; // 类型
if (type!="r_time")
{
value=name.value.replace(/ +/g, ""); // 控件值
}
else
{
value=name.value;
}
}

--------------------------------------------------------------------------------

// ===============判断复选框是否选中================ //
if (type=="r_cb")
{ 
e=document.forms(0).elements;
var flag=false;
for (i=0;i<e.length;i++)
{ 
if (e[i]!=cb_name)
{
if (e[i].checked==true)
{
flag=true;
break;
}
}
if (i==e.length-1)
{
break;
}
}
if (flag==false)
{
alert(message+"!\n"); //为空时出现的提示
return false;
}
}

// ===============判断下拉框是否选择================ //
if (type=="r_sl")
{
if (name.selected==false)
{
alert(message+"!\n"); //为空时出现的提示
return false;
}
}


// ===============不能为空的判断================ //
if (type=="r") 
{
if (value=="") // 判断是否为空
{
alert(message+"!\n"); //为空时出现的提示
name.focus();
name.select();
return false;
}
}


// ===============不能为空的判断,但不获得焦点================ //
if (type=="o_r") 
{
if (value=="") // 判断是否为空
{
alert(message+"!\n"); //为空时出现的提示
return false;
}
}

// ===============只能输入中文================ //
if (type=="r_china")
{
if (value.search(/^[\u4e00-\u9fa5]+$/)==-1) 
{
alert(message+"!\n"); // 判断不能为空
name.focus();
name.select();
return false;
}
}


// ===============不能为空,必须是数字或者字符判断================ //
if (type=="r_num_char")
{
if (value=="")
{
alert(message+"!\n"); //为空时出现的提示
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9a-zA-Z]+$/)==-1) 
{
alert(message+"!\n"); //为空时出现的提示
name.focus();
name.select();
return false;
}
}


// ===============可以为空,不为空时,填数字================ //
if (type=="num")
{
if (value.search(/^[0-9]+$/)==-1 && value!="") 
{
alert(message+"!\n"); // 判断不能为空
name.focus();
name.select();
return false;
}
}


// ===============不能为空,必须是数字判断================ //
if (type=="r_num")
{
if (value=="")
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9]+$/)==-1) 
{
alert(message+"!\n"); // 判断不能为空
name.focus();
name.select();
return false;
}
}


// ===============必须输入小于n的数字================ //
if (type.indexOf("r_num<")!=-1)
{
length=type.substring((type.indexOf('<')+1),type.length); // 获得rn<后面的数 

if (value=="") // 为空做的提示
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9]+$/)==-1) // 不是数字做的提示
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.length>length) // 限制数字长度做的限制
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
}

// ===============必须输入大于n的数字================ //
if (type.indexOf("r_num>")!=-1)
{
length=type.substring((type.indexOf('>')+1),type.length); // 获得rn<后面的数
if (value=="") // 为空做的提示
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9]+$/)==-1) // 不是数字做的提示
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.length<length) // 限制数字长度做的限制
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
}

// ===============必须输入a-b位之间的数字================ //
if (type.indexOf("r_num#<>")!=-1)
{
length=type.substr((type.indexOf('>')+1),type.length);
length=length.substr(0,length.lastIndexOf("-"));
length1=type.substring((type.indexOf('-')+1),type.length) // 获得rn<后面的数
if (value=="") // 为空做的提示
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9]+$/)==-1) // 不是数字做的提示
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.length<length || value.length>length1) // 限制数字长度做的限制
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
}
//
===============不能为空,必须是float类型================ //
if (type=="r_float")
{
if (value=="")
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.search(/^[0-9]+$/)!=-1 || value.search(/^([0-9]+)|([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)$/)!=-1) 
{
return true;
}
else
{
alert(message+"!\n"); // 判断不能为空
name.focus();
name.select();
return false;
}
}

// ===============判断email,不一定输入================ //
if (type.indexOf("email")!=-1)
{
if (name.value!="")
{
if (value.search(/^[_\.a-z0-9]+@[a-z0-9]+[\.][a-z0-9]{2,}$/i)==-1)
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
}
}

// ===============判断email,一定输入================ //
if (type.indexOf("r_email")!=-1)
{
if (name.value=="")
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
if (value.search(/^[_\.a-z0-9]+@[a-z0-9]+[\.][a-z0-9]{2,}$/i)==-1)
{
alert(message+"!\n");
name.focus();
name.select();
return false;
}
}

// ===============判断日期,比如2000-12-20================ //
if (type=="r_date")
{
flag=true; 
getdate=value; 
if (getdate.search(/^[0-9]{4}-(0[1-9]|[1-9]|1[0-2])-((0[1-9]|[1-9])|1[0-9]|2[0-9]|3[0-1])$/)==-1) // 判断输入格式时候正确
{
flag=false;
}
else
{
var year=getdate.substr(0,getdate.indexOf('-')) // 获得年
// 下面操作获得月份
var transition_month=getdate.substr(0,getdate.lastIndexOf('-')); 
var month=transition_month.substr(transition_month.lastIndexOf('-')+1,transition_month.length);
if (month.indexOf('0')==0)
{
month=month.substr(1,month.length);
}
// 下面操作获得日期
var day=getdate.substr(getdate.lastIndexOf('-')+1,getdate.length);
if (day.indexOf('0')==0)
{
day=day.substr(1,day.length);
}
//alert(month);
//alert(day)
//return false;
if ((month==4 || month==6 || month==9 || month==11) && (day>30)) // 4,6,9,11月份日期不能超过30
{
flag=false; 
}
if (month==2) // 判断2月份
{
if (LeapYear(year))
{
if (day>29 || day<1){ flag=false; }
}
else
{
if (day>28 || day<1){flag=false; }
}
}
else
{
flag=true;
}
}
if (flag==false)
{
alert(message+"!\n"); //为空时出现的提示
name.focus();
name.select();
return false;
}
}

--------------------------------------------------------------------------------

from:http://www.klstudio.com/post/33.html功能说明:
表单的验证一直是网页设计者头痛的问题,表单验证类 Validator就是为解决这个问题而写的,旨在使设计者从纷繁复杂的表单验证中解放出来,把精力集中于网页的设计和功能上的改进上。
Validator是基于JavaScript技术的伪静态类和对象的自定义属性,可以对网页中的表单项输入进行相应的验证,允许同一页面中同时验证多个表单,熟悉接口之后也可以对特定的表单项甚至仅仅是某个字符串进行验证。因为是伪静态类,所以在调用时不需要实例化,直接以"类名+.语法+属性或方法名"来调用。此外,Validator还提供3种不同的错误提示模式,以满足不同的需要。
Validator目前可实现的验证类型有:
1.是否为空;
2.中文字符;
3.双字节字符
4.英文;
5.数字;
6.整数;
7.实数;
8.Email地址;
9.使用HTTP协议的网址;
10.电话号码;
11.货币;
12.手机号码;
13.邮政编码;
14.身份证号码;
15.QQ号码;
16.日期;
17.符合安全规则的密码;
18.某项的重复值;
19.两数的关系比较;
20.判断输入值是否在(n, m)区间;
21.输入字符长度限制(可按字节比较);
22.对于具有相同名称的单选按钮的选中判断;
23.限制具有相同名称的多选按钮的选中数目;
24.自定义的正则表达式验证;
运行环境(客户端):
在Windows Server 2003下用IE6.0+SP1和Mozilla Firefox 1.0测试通过;
在Lunix RedHat 9下的Netscape测试通过;

相关代码:

<script> 
/************************************************* 
Validator v1.0 
cody by 我龙岩人 
xxxxxx@163.com 
http://www.cunite.com 
*************************************************/ 
Validator = { 
Require : /.+/, 
Email : /^\w+([-+.]\w+)*@\w+([-.]\\w+)*\.\w+([-.]\w+)*$/, 
Phone : /^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/, 
Mobile : /^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/, 
Url : /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\"\"])*$/, 
IdCard : /^\d{15}(\d{2}[A-Za-z0-9])?$/, 
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]+$/, 
UnSafe : /^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\’\"]*)|.{0,5})$|\s/, 
IsSafe : function(str){return !this.UnSafe.test(str);}, 
SafeString : "this.IsSafe(value)", 
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 && value < 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 "Date" : 
case "Repeat" : 
case "Range" : 
case "Compare" : 
case "Custom" : 
case "Group" : 
case "Limit" : 
case "LimitB" : 
case "SafeString" : 
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; 
}, 
IsDate : function(op, formatString){ 
formatString = formatString || "ymd"; 
var m, year, month, day; 
switch(formatString){ 
case "ymd" : 
m = op.match(new RegExp("^\\s*((\\d{4})|(\\d{2}))([-./])(\\d{1,2})\\4(\\d{1,2})\\s*$")); 
if(m == null ) return false; 
day = m[6]; 
month = m[5]--; 
year = (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10)); 
break; 
case "dmy" : 
m = op.match(new RegExp("^\\s*(\\d{1,2})([-./])(\\d{1,2})\\2((\\d{4})|(\\d{2}))\\s*$")); 
if(m == null ) return false; 
day = m[1]; 
month = m[3]--; 
year = (m[5].length == 4) ? m[5] : GetFullYear(parseInt(m[6], 10)); 
break; 
default : 
break; 
} 
var date = new Date(year, month, day); 
return (typeof(date) == "object" && year == date.getFullYear() && month == date.getMonth() && day == date.getDate()); 
function GetFullYear(y){return ((y<30 ? "20" : "19") + y)|0;} 
} 
} 
</script>

分享到:
评论

相关推荐

    JavaScript脚本大全

    JavaScript 脚本大全 JavaScript 是一种广泛应用于 Web 开发的脚本语言,它可以添加交互性到网站中,使网站更加生动和交互。以下是 JavaScript 脚本大全中的一些重要知识点: 事件类 在 JavaScript 中,事件是指...

    javascript之validate验证脚本

    Validate验证脚本就是JavaScript实现的一种表单验证技术,用于确保用户输入的数据符合预设的规则,防止无效或有害的数据提交到服务器,提高用户体验并保障数据安全。 在JavaScript中,validate验证通常涉及以下几个...

    C# 动态解析 javascript 脚本引擎源码

    在实际应用中,C#通过调用Noesis.Javascript库的API,可以轻松地执行JavaScript脚本,如下所示: ```csharp using Noesis.Javascript; // 创建JavaScript引擎实例 var engine = new JavascriptEngine(); // 注册...

    身份证验证javascript脚本

    根据提供的信息,我们可以总结出以下有关“身份证验证JavaScript脚本”的关键知识点: ### 身份证验证原理 身份证号码在中国通常有两种格式:15位和18位。这两种格式都有其特定的验证规则。 #### 15位身份证号码...

    javascript脚本实例大全

    JavaScript脚本实例大全是一个汇集了各种JavaScript编程示例的资源集合,主要针对网页开发中的JavaScript应用。这个压缩包包含了丰富的代码实例,可以帮助开发者理解和学习JavaScript的各种功能和用法。通过直接查看...

    JavaScript常用验证脚本总结

    JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它主要负责处理客户端的交互和数据验证。这篇博客“JavaScript常用验证脚本总结”提供了一些在实际开发中常用的JavaScript验证技术,帮助开发者确保用户...

    客户端脚本验证总结

    客户端脚本验证是Web开发中不可或缺的一环,它主要用于在用户与服务器交互的前端阶段确保数据的正确性和安全性。在JavaScript这一强大的客户端编程语言的支持下,我们可以实现多种验证策略,提高用户体验并减轻...

    javascript数字验证脚本

    本话题将深入探讨如何使用JavaScript编写数字验证脚本,以及如何指定输入的整数位数和小数位数。 首先,我们需要理解JavaScript中的基本数据类型,其中`Number`类型用于表示数值。在进行数字验证时,我们通常会用到...

    网页javascript脚本语言提取器

    "网页JavaScript脚本语言提取器"是一个工具,专门设计用于从网页中抓取并分析JavaScript代码,这在进行网页分析、调试或者学习JavaScript时非常有用。 1. **JavaScript的基本概念**: - JavaScript是一种轻量级的...

    javascript脚本语言课件

    总的来说,这个"javascript脚本语言课件"将引导你从零开始掌握JavaScript,从基础语法到核心概念,再到实际的数据验证技术。通过学习,你将具备编写交互性强、用户体验优良的网页和应用程序的能力。记得结合PPT和...

    javascript脚本病毒的编写与防范方法研究.doc

    3. 输入验证:对用户输入进行验证,以防止恶意JavaScript脚本的执行。 4. 代码审查:对JavaScript代码进行审查,以防止恶意JavaScript脚本的存在。 研究方法 本研究采用文献研究和实验方法,通过阅读相关文献和...

    常用的javascript脚本、特效

    首先,JavaScript脚本是网页动态功能的核心,它可以在用户与网页交互时实时更新内容,比如表单验证、图片轮播、时间戳实时更新等。这些脚本可以极大地提高网站的互动性和用户友好性。 1. 表单验证:JavaScript可以...

    浅谈关于JavaScript脚本语言的学习.pdf

    1. 客户端数据验证:JavaScript脚本可以直接对用户操作做出响应,对客户端数据进行验证,不需要经过Web服务器程序处理,节约了客户端与服务器之间的交互时间。 2. 动态网页:JavaScript脚本可以使静态的HTML网页...

    JavaScript表单验证脚本之淘宝沙发傲视

    "JavaScript表单验证脚本之淘宝沙发傲视"这个标题可能指的是一个专门针对淘宝网站,或者至少是以淘宝为例的,用于表单验证的JavaScript脚本。虽然描述中的文字看起来像是随机字符组合,但我们可以从中提取出与...

    JavaScript客户端脚本语言

    JavaScript语言基础 JavaScript程序流程控制语句 JavaScript函数和事件处理程序 HTML文档对象模型 JavaScript内置的常用对象 用JavaScript脚本对HTML数据的的验证

    JSPjavascript脚本邮箱、密码、用户名验证.pdf

    JSP JavaScript脚本邮箱、密码、...这个示例涉及到HTML、CSS、JavaScript、DOM操作、事件绑定、正则表达式等多个知识点,它展示了如何使用JavaScript脚本来验证用户输入的数据,并提供了一个完整的用户注册页面的示例。

    毕业论文Javascript脚本病毒的编写与防范方法研究.doc

    JavaScript 脚本病毒的编写与防范方法研究 本文主要介绍了 JavaScript 脚本病毒的编写和防范方法的研究。JavaScript 脚本病毒是一种特殊类型的计算机病毒,它可以通过互联网传播,感染计算机系统,并对计算机系统...

    js个人脚本收藏,脚本特效,脚本验证、判断

    本资源集合了作者个人收藏的JavaScript脚本,包含了各种脚本特效、验证功能以及逻辑判断,这些小方法在实际开发中具有很高的实用性。 一、脚本特效 JavaScript可以创建各种炫酷的网页特效,如动画、滑动、淡入淡出...

    Web注册信息脚本验证

    "Web注册信息脚本验证"就是这样一个关键环节,它涉及到前端脚本(如JavaScript)用于检查用户在注册表单中填写的信息是否符合预设规则。这个过程不仅提高了用户体验,减少了无效或错误的数据提交,同时也增强了系统...

Global site tag (gtag.js) - Google Analytics