=65&&event.keyC" />
当前位置:文档之家› JavaScript常用验证函数实例汇总

JavaScript常用验证函数实例汇总

JavaScript常用验证函数实例汇总
JavaScript常用验证函数实例汇总

JavaScript常用验证函数实例汇总

一、字符串类验证

1. 长度限制

代码如下:

function test

{

if(document.a.b.value.length>50)

{

alert("不能超过50个字符!");

document.a.b.focus ;

return false;

}

}

2. 只能是汉字

代码如下:

3." 只能是英文

代码如下:

function onlyEng

{

if(!(event.keyCode>=65&&event.keyCode event.returnvalue=false;

}

4. 只能是数字

代码如下:

function onlyNum

{

if(!((event.keyCode>=48&&event.keyCode=96&&event.ke yCode //考虑小键盘上的数字键

event.returnvalue=false;

}

5. 只能是英文字符和数字

代码如下:

6. 验证邮箱格式

代码如下:

function isEmail(strEmail) {

if (strEmail.search(/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9 ]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/) != -1) return true;

else

alert("oh");

}

7. 屏蔽关键字(这里屏蔽***和****)

代码如下:

function test {

if((a.b.value.indexOf ("***") == 0)||(a.b.value.indexOf ("****") == 0)){

a.b.focus ;

return false;}

}

8. 两次输入密码是否相同

代码如下:

function check

{

with(document.all){

if(input1.value!=input2.value) {

input1.value = "";

input2.value = "";

}

else document.forms[0].submit ;

}

}

9. 屏蔽右键很酷!

代码如下:

oncontextmenu="return false" ondragstart="return false" onselectstart="return false"

加在body中

二、表单验证

1 表单项不能为空

代码如下:

function CheckForm

{

if (https://www.doczj.com/doc/786063240.html,.value.length == 0) {

alert("请输入您姓名!");

https://www.doczj.com/doc/786063240.html,.focus ;

}

return true;

}

-->

2 比较两个表单项的值是否相同

代码如下:

function CheckForm

if (document.form.PWD.value != document.form.PWD_Again.value) {

alert("您两次输入的密码不一样!请重新输入.");

document.ADDUser.PWD.focus ;

return false;

}

return true;

}

-->

3 表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等

代码如下:

function isNumber(String)

{

var Letters = "1234567890-"; //可以自己增加可输入值

var i;

var c;

if(String.charAt( 0 )=='-')

return false;

if( String.charAt( String.length - 1 ) == '-' ) return false;

for( i = 0; i {

c = String.charAt( i );

if (Letters.indexOf( c ) return false;

}

return true;

}

function CheckForm

{

if(! isNumber(document.form.TEL.value)) {

alert("您的电话号码不合法!");

document.form.TEL.focus ;

return false;

}

return true;

}

-->

4 表单项输入数值/长度限定

代码如下:

function CheckForm

{

if (document.form.count.value > 100 || document.form.count.value {

alert("输入数值不能小于零大于100!");

document.form.count.focus ;

return false;

}

if (document.form.MESSAGE.value.length {

alert("输入文字小于10!");

document.form.MESSAGE.focus ;

return false;

}

return true;

}

//-->

5 中文/英文/数字/邮件地址合法性判断

代码如下:

function isEnglish(name) //英文值检测

{

if(name.length == 0)

return false;

for(i = 0; i if(name.charCodeAt(i) > 128) return false;

}

return true;

}

function isChinese(name) //中文值检测

{

if(name.length == 0)

return false;

for(i = 0; i if(name.charCodeAt(i) > 128)

return true;

}

return false;

}

function isMail(name) // E-mail值检测{

if(! isEnglish(name))

return false;

i = name.indexOf(" at ");

j = name dot lastIndexOf(" at ");

if(i == -1)

return false;

if(i != j)

return false;

if(i == name dot length)

return false;

return true;

}

function isNumber(name) //数值检测{

if(name.length == 0)

return false;

for(i = 0; i if(name.charAt(i) "9") return false;

}

return true;

}

function CheckForm

{

if(! isMail(form.Email.value)) {

alert("您的电子邮件不合法!");

form.Email.focus ;

return false;

}

if(! isEnglish(https://www.doczj.com/doc/786063240.html,.value)) {

alert("英文名不合法!");

https://www.doczj.com/doc/786063240.html,.focus ;

return false;

}

if(! isChinese(formname.value)) {

alert("中文名不合法!");

formname.focus ;

return false;

}

if(! isNumber(form.PublicZipCode.value)) {

alert("邮政编码不合法!");

form.PublicZipCode.focus ;

return false;

}

return true;

}

//-->

6 限定表单项不能输入的字符

代码如下:

function contain(str,charset)// 字符串包含测试函数

{

var i;

for(i=0;i if(str.indexOf(charset.charAt(i))>=0)

return true;

return false;

}

function CheckForm

{

if ((contain(https://www.doczj.com/doc/786063240.html,.value, "%/(/)> {

alert("输入了非法字符");

https://www.doczj.com/doc/786063240.html,.focus ;

return false;

}

return true;

}

//-->

三、其他验证:

1. 检查一段字符串是否全由数字组成

代码如下:

function checkNum(str){return str.match(//D/)==null}

alert(checkNum("1232142141"))

alert(checkNum("123214214a1"))

// -->

2. 怎么判断是否是字符

代码如下:

if (/[^/x00-/xff]/g.test(s)) alert("含有汉字");

else alert("全是字符");

3. 怎么判断是否含有汉字

代码如下:

if (escape(str).indexOf("%u")!=-1) alert("含有汉字");

else alert("全是字符");

4. 邮箱格式验证

代码如下:

//函数名:chkemail

//功能介绍:检查是否为Email Address

//参数说明:要检查的字符串

//返回值:0:不是 1:是

function chkemail(a)

{ var i=a.length;

var temp = a.indexOf('@');

var tempd = a.indexOf('.');

if (temp > 1) {

if ((i-temp) > 3){

if ((i-tempd)>0){

return 1;

}

}

}

return 0;

}

5. 数字格式验证

代码如下:

//函数名:fucCheckNUM

//功能介绍:检查是否为数字

//参数说明:要检查的数字

//返回值:1为是数字,0为不是数字function fucCheckNUM(NUM)

{

var i,j,strTemp;

strTemp="0123456789";

if ( NUM.length== 0)

return 0

for (i=0;i {

j=strTemp.indexOf(NUM.charAt(i)); if (j==-1)

//说明有字符不是数字

return 0;

}

}

//说明是数字

return 1;

}

6. 电话号码格式验证

代码如下:

//函数名:fucCheckTEL

//功能介绍:检查是否为电话号码

//参数说明:要检查的字符串

//返回值:1为是合法,0为不合法function fucCheckTEL(TEL)

{

var i,j,strTemp;

strTemp="0123456789- # ";

for (i=0;i {

j=strTemp.indexOf(TEL.charAt(i)); if (j==-1)

//说明有字符不合法

return 0;

}

}

//说明合法

return 1;

}

7. 判断输入是否为中文的函数

代码如下:

function ischinese(s){

var ret=true;

for(var i=0;i ret=ret && (s.charCodeAt(i)>=10000);

return ret;

}

8. 综合的判断用户输入的合法性的函数

代码如下:

//限制输入字符的位数开始

//m是用户输入,n是要限制的位数function issmall(m,n)

{

if ((m0))

{

return(false);

}

else

{return(true);}

}

9. 判断密码是否输入一致

代码如下:

function issame(str1,str2)

{

if (str1==str2)

{return(true);}

else

{return(false);}

}

10. 判断用户名是否为数字字母下滑线

代码如下:

function notchinese(str){

var reg=/[^A-Za-z0-9_]/g

if (reg.test(str)){

return (false);

}else{

return(true); }

}

11. form文本域的通用校验函数

作用:检测所有必须非空的input文本,比如姓名,账号,邮件地址等等。

该校验现在只针对文本域,如果要针对form里面的其他域对象,可以改变判断条件。

使用方法:在要检测的文本域中加入title文字。文字是在提示信息,你要提示给用户的该字段的中文名。比如要检测用户名

html如下,当然,最好用可视化工具比如dreamweaver 什么的来编辑域。

如果要检测数字类型数据的话,再把域的id统一为sz.

javascript判断日期类型比较麻烦,所以就没有做日期类型校验的程序了.高手可以补充。

程序比较草,只是提供一个思路。抛砖引玉!:)

哦,对了,函数调用方法:

代码如下:

function dovalidate

{

fm=document.forms[0] //只检测一个form,如果是多个可以改变判断条件

for(i=0;i {

//检测判断条件,根据类型不同可以修改

if(fm.tagName.toUpperCase =="INPUT" &&fm.type.toUpperCase =="TEXT" && (fm.title!="")) if(fm.value="/blog/="")//

{

str_warn1=fm.title+"不能为空!";

alert(str_warn1);

fm.focus ;

return false;

}

if(fm.id.toUpperCase =="SZ")//数字校验

{

if(isNaN(fm.value))

{ str_warn2=fm.title+"格式不对";

alert(str_warn2);

Javascript综合应用小案例

按需求弄了一个取词以及标红的小应用。 先上demo :/ 很多平时常用的东西,都用上了,所以拿出来说说。 一、代码 View Code 以上是所有js代码,比较长,下面将列举一些比较突出的点(望高人多多指点)。 二、代码分析 1.获取文本 getSelectionText: function(){ if(window.getSelection) { return window.getSelection().toString(); } else if(document.selection && { return; } return ''; } 这个在以前(JavaScript操控光标,你会么?)的文章里也说过,就不赘述了。 2.创建控制框 createBtn: function(evt){ var button = document.createElement("div"), //...csses= { "height" : "30px", "line-height" : "30px", "position": "absolute", "top": y + 10 + "px", "left": x + 10 + "px", "cursor": "pointer", "border": "1px solid #000", "background": "#EEE", "padding": "2px 8px", "border-radius": "3px" }; for(i in csses){

if(csses.hasOwnProperty(i)){ cssList += i + ":" + csses[i] + ";"; } } =cssList; button.innerHTML = "添加到关键词列表"; button.setAttribute("id", "btn"); //...} 这里有一点我想说说,在写js的时候,会经常涉及到对DOM对象style的处理,如果不想额外加入一个plugins.css之类的文件,可以像上面一样,将样式放置在一个对象中,然后利用for in将其写入,本来开始我用的是 obj.style[i] = csses[i]; 不知道为什么,在IE下报错了,后来便用cssText代替。 效果: 3.标红 //关键词标红 setRed: function(str){ var content = this._("article"), temp = '(' + str + ')'; reg = new RegExp(temp,'g'); content.innerHTML = , "$1"); } 这里主要就是正则表达式的事情了,正则的话,推荐两篇文章 ?一篇是司徒正美的,讲的比较全面,比较系统。点我链接过去→ ?一篇是30分钟搞定正则,这个讲说是对所有语言,JS的话正则这一块还不是特别完善和强大。点我链接过去→ 哈哈,相信用过正则的人不需要我来解释这个$1了吧,他的意思就是匹配到的第一个。 当然,删除标红和这个原理是差不多的。 //删除标红 rmRed: function(str){ var content = this._("article"), temp = "()"; reg = new RegExp(temp,'g i'); content.innerHTML = , str); }

《HTML CSS JavaScript网页制作案例教程》_教学大纲讲解

《HTML+CSS+JavaScript网页制作案例教程》课程教学大纲 (课程英文名称) 课程编号:201509210011 学分:5学分 学时:64学时(其中:讲课学时:45 上机学时: 19 ) 先修课程:计算机基础、计算机网络、计算机应用 后续课程:UI设计、 JavaScript网页特效 适用专业:信息及其计算机相关专业 开课部门:计算机系 一、课程的性质与目标 《HTML+CSS+JavaScript网页制作案例教程)》是面向计算机相关专业的一门专业基础课,涉及网页基础、HTML标记、CSS样式、网页布局、JavaScript 编程基础与事件处理等内容。通过本课程的学习,学生能够了解HTML、CSS及JavaScript语言的发展历史及未来方向,熟悉网页制作流程、掌握常见的网页布局效果、学会制作各种企业、门户、电商类网站。 二、课程的主要内容及基本要求 第一章网页那点事(2学时) [知识点] 认识网页 常见的互联网专业术语 Web标准 HTML简介 CSS简介 JavaScript简介 常用浏览器介绍 Dreamweaver 工具的使用

使用Dreamweaver创建第一个页面 [重点] Web标准 Dreamweaver工具的使用 [难点] Web标准 Dreamweaver工具创建第一个页面 [基本要求] 了解Web标准,明确HTML、CSS及JavaScript在其中的作用。 熟悉Dreamweaver工具的基本操作,能使用Dreamweaver创建简单的网页。第二章从零开始构建HTML页面(4学时) [相关案例] 【案例1】简单的网页: 【案例2】新闻页面: 【案例3】图文混排: [知识点] HTML文档基本格式

理解JavaScript中函数的使用

理解JavaScript中函数的使用 函数是进行模块化程序设计的基础,编写复杂的Ajax应用程序,必须对函数有更深入的了解。 JavaScript中的函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的。通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递。在继续讲述之前,先看一下函数的使用语法: function func1(…){…} var func2=function(…){…}; var func3=function func4(…){…}; var func5=new Function(); 这些都是声明函数的正确语法。它们和其他语言中常见的函数或之前介绍的函数定义方式有着很大的区别。那么在JavaScript中为什么能这么写?它所遵循的语法是什么呢?下面将介绍这些内容。 认识函数对象(Function Object) 可以用function关键字定义一个函数,并为每个函数指定一个函数名,通过函数名来进行调用。在JavaScript解释执行时,函数都是被维护为一个对象,这就是要介绍的函数对象(Function Object)。 函数对象与其他用户所定义的对象有着本质的区别,这一类对象被称之为内部对象,例如日期对象(Date)、数组对象(Array)、字符串对象(String)都属于内部对象。这些内置对象的构造器是由JavaScript本身所定义的:通过执行new Array()这样的语句返回一个对象,JavaScript内部有一套机制来初始化返回的对象,而不是由用户来指定对象的构造方式。 在JavaScript中,函数对象对应的类型是Function,正如数组对象对应的类型是Array,日期对象对应的类型是Date一样,可以通过new Function()来创建一个函数对象,也可以通过function关键字来创建一个对象。为了便于理解,我们比较函数对象的创建和数组对象的创建。先看数组对象:下面两行代码都是创建一个数组对象myArray: var myArray=[]; //等价于 var myArray=new Array();

函数模型的应用实例(Ⅲ)

函数模型的应用实例(Ⅲ) 一、教学目标 1、知识与技能能够收集图表数据信息,建立拟合函数解决实际问题。 2、过程与方法体验收集图表数据信息、拟合数据的过程与方法,体会函数拟合的思想方法。 3、情感、态度、价值观深入体会数学模型在现实生产、生活及各个领域中的广泛应用及其重要价值。 二、教学重点、难点: 重点:收集图表数据信息、拟合数据,建立函数模解决实际问题。 难点:对数据信息进行拟合,建立起函数模型,并进行模型修正。 三、学学与教学用具 1、学法:学生自查阅读教材,尝试实践,合作交流,共同探索。 2、教学用具:多媒体 四、教学设想 (一)创设情景,揭示课题 2003年5月8日,西安交通大学医学院紧急启动“建立非典流行趋势预测与控制策略数学模型”研究项目,马知恩教授率领一批专家昼夜攻关,于5月19日初步完成了第一批成果,并制成了要供决策部门参考的应用软件。 这一数学模型利用实际数据拟合参数,并对全国和北京、山西等地的疫情进行了计算仿真,结果指出,将患者及时隔离对于抗击非典

至关重要、分析报告说,就全国而论,菲非典病人延迟隔离1天,就医人数将增加1000人左右,推迟两天约增加工能力100人左右;若外界输入1000人中包含一个病人和一个潜伏病人,将增加患病人数100人左右;若4月21日以后,政府示采取隔离措施,则高峰期病人人数将达60万人。 这项研究在充分考虑传染病控制中心每日工资发布的数据,建立了非典流行趋势预测动力学模型和优化控制模型,并对非典未来的流行趋势做了分析预测。 本例建立教学模型的过程,实际上就是对收集来的数据信息进行拟合,从而找到近似度比较高的拟合函数。 (二)尝试实践探求新知 例1.某地区不同身高的未成年男性的体重平均值发下表 (身高:cm;体重:kg) 1)根据表中提供的数据,建立恰当的函数模型,使它能比较近似地反映这个地区未成年男性体重与身高ykg与身高xcm的函数模型的解析式。 2)若体重超过相同身高男性平均值的1.2倍为偏胖,低于0.8倍为偏瘦,那么这个地区一名身高为175cm ,体重为78kg的在校男

《HTML+CSS+JavaScript网页制作案例教程》课程教学

传智播客 《HTML+CSS+JavaScript网页制作案例教程》 教学设计 课程名称:HTML+CSS+JavaScript网页制作案例教程 授课年级:2015年级 授课学期:2015学年第二学期 教师姓名:某某老师

201 年月日 课题名称第5章列表与超链接 计划 课时 6课时 内容分析通过第4章盒子模型的学习,已经很容易对网页做一个简单的结构划分。但是一个网站由多个网页构成,每个网页上都有大量的信息,要想使网页中的信息排列有序,条理清晰,并且网页与网页之间有一定的联系,就需要使用列表和超链接。本章将对列表标记、超链接标记以及CSS控制列表和超链接的样式进行详细讲解。 教学目标●掌握无序、有序及定义列表的使用,可以制作常见的网页列表模块; ●掌握超链接标记的使用,能够使用超链接定义网页元素; ●掌握CSS伪类,会使用CSS伪类实现超链接特效; 重点及措施 教学重点:无序列表、有序列表、定义列表、超链接、链接伪类、锚点链接。 措施:通过上机操作加强学习和补充案例进行巩固。 难点及措施 教学难点:有序列表、定义列表、链接伪类。 措施:通过上机操作加强学习和补充案例进行巩固。 教学方式教学采用教师课堂讲授为主,使用教学PPT讲解。 教学过程 第一课时 (制作“精美电商悬浮框”,讲解无序列表、有序列表) 复习上节课内容 在讲解本节内容前,抛出以下问题让学生回答,以复习第四章“CSS盒子模型”的相关知识。 1、一个盒子的宽(width)和高(height)均为300px,左内边距为30px, 同时盒子有3px的边框,请问这个盒子的总宽度是多少?() A、333px B、366px C、336px D、363px

Javascript自执行匿名函数(function { }) 的原理浅析

Javascript自执行匿名函数(function { }) 的原理浅析 匿名函数就是没有函数名的函数。这篇文章主要介绍了Javascript自执行匿名函数(function { }) 的原理浅析的相关资料,需要的朋友可以参考下 函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数指没有指定函数名或指针的函数,自执行匿名函数只是其中一种,下文中称这种函数为:自执行函数 下面是一个最常见的自执行函数: // 传统匿名函数 (function { alert('hello'); }) ; 这段代码的执行效果就是在页面再载入时弹出:"hello" 是什么促使它自动执行的?,来看下面的代码 // 在传统写法上去掉小括号,并在前面加上运算符~,!,+,- ~function { alert('hello'); } ;

!function { alert('hello'); } ; +function { alert('hello'); } ; -function { alert('hello'); } ; 这些写法与上文所说的传统方式执行起来并无区别, 我发现,这些写法的共同点是运算符,其实传统方式的小括号也属于运算的一种,出现在:a=b*(c+d),运算符 + 传递给自生的参数 = 函数自动执行?但有些符号也不支持,比如“=,*,/”号,它自执行的原因还是很神秘,网上也找不到像样的答案 然后我发现了一个神奇的现象,这些运算符可以无限叠加。。。。。。 // function前面是特定符号可以无限叠加... ~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+ -+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+ -~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-

JavaScript图形实例:蝴蝶结图案

JavaScript图形实例:蝴蝶结图案 1.长短瓣相间的蝴蝶结 设定曲线的坐标方程为: b=r*(1+cos(n*θ)/4)*(1+sin(2*n*θ)); x1=b*cos(θ); x2=b*cos(θ+π/8); y1=b*Math.sin(θ); y2=b*Math.sin(θ+π/8); (0≤θ≤2π,2≤n≤5) 在0~2π区间中从θ=0开始,每隔π/360按曲线方程求得两个点的坐标值(x1,y1)和(x2,y2),并将求得的两点连成一条线段,这样,可以得到一个长短瓣相间的蝴蝶结图案。 编写如下的HTML代码。 长短瓣相间的蝴蝶结