JavaScript常用验证函数实例汇总


Posted in Javascript onNovember 25, 2014

本文实例汇总了JavaScript常用验证函数。分享给大家供大家参考。具体汇总如下:

一、字符串类验证

1. 长度限制

<script>

function test()

{

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

{

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

document.a.b.focus();

return false;

}

}

</script>

<form name=a onsubmit="return test()">

<textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea>

<input type="submit" name="Submit" value="check">

</form>

2. 只能是汉字

<input onkeyup="value="/oblog/value.replace(/[^/u4E00-/u9FA5]/g,'')">

3." 只能是英文

<script language=javascript>

function onlyEng()

{

if(!(event.keyCode>=65&&event.keyCode<=90))

event.returnvalue=false;

}

</script>

<input onkeydown="onlyEng();">

4. 只能是数字

<script language=javascript>

function onlyNum()

{

if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))

//考虑小键盘上的数字键

event.returnvalue=false;

}

</script>

<input onkeydown="onlyNum();">

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

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

6. 验证邮箱格式

<SCRIPT LANGUAGE=javascript RUNAT=Server>

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");

}

</SCRIPT>

<input type=text onblur=isEmail(this.value)>

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

<script language="javascript1.2">

function test() {

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

alert("123");

a.b.focus();

return false;}

}

</script>

<form name=a onsubmit="return test()">

<input type=text name=b>

<input type="submit" name="Submit" value="check">

</form>

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

<FORM METHOD=POST ACTION="">

<input type="password" id="input1">

<input type="password" id="input2">

<input type="button" value="test" onclick="check()">

</FORM>

<script>

function check()

{

with(document.all){

if(input1.value!=input2.value)

{

alert("false")

input1.value = "";

input2.value = "";

}

else document.forms[0].submit();

}

}

</script>

9. 屏蔽右键 很酷!

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

加在body中

二、表单验证

1 表单项不能为空

<script language="javascript">

<!--

function CheckForm()

{  

if (document.form.name.value.length == 0) {  

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

document.form.name.focus();

return false;

}

return true;

}

-->

</script>

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

<script language="javascript">

<!--

function CheckForm()

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

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

document.ADDUser.PWD.focus();

return false;

}

return true;

}

-->

</script>

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

<script language="javascript">

<!--

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 < String.length; i ++ )

{  

c = String.charAt( i );

if (Letters.indexOf( c ) < 0)

return false;

}

return true;

}

function CheckForm()

{  

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

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

document.form.TEL.focus();

return false;

}

return true;

}

-->

</script>

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

<script language="javascript">

<!--

function CheckForm()  

{  

if (document.form.count.value > 100 || document.form.count.value < 1)

{  

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

document.form.count.focus();

return false;

}

if (document.form.MESSAGE.value.length<10)

{  

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

document.form.MESSAGE.focus();

return false;

}

return true;

}

//-->

</script>

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

<SCRIPT LANGUAGE="javascript">

<!--

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

{  

if(name.length == 0)

return false;

for(i = 0; i < name.length; i++) {  

if(name.charCodeAt(i) > 128)

return false;

}

return true;

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

{  

if(name.length == 0)

return false;

for(i = 0; i < name.length; 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 < name.length; i++) {  

if(name.charAt(i) < "0" || name.charAt(i) > "9")

return false;

}

return true;

}
function CheckForm()

{  

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

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

form.Email.focus();

return false;

}

if(! isEnglish(form.name.value)) {  

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

form.name.focus();

return false;

}

if(! isChinese(form.cnname.value)) {  

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

form.cnname.focus();

return false;

}

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

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

form.PublicZipCode.focus();

return false;

}

return true;

}

//-->

</SCRIPT>

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

<script language="javascript">

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

{  

var i;

for(i=0;i<charset.length;i++)

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

return true;

return false;

}
function CheckForm()

{  

if ((contain(document.form.NAME.value, "%/(/)><")) || (contain(document.form.MESSAGE.value, "%/(/)><")))

{  

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

document.form.NAME.focus();

return false;

}

return true;

}

//-->

</script>

三、其他验证:

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

<script language="Javascript"><!--

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

alert(checkNum("1232142141"))

alert(checkNum("123214214a1"))

// --></script>

 
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<NUM.length;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<TEL.length;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<s.length;i++)   

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

return ret;   

}

  
8. 综合的判断用户输入的合法性的函数 
<script language="javascript">  

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

//m是用户输入,n是要限制的位数  

function issmall(m,n)  

{  

if ((m<n) && (m>0))  

 {  

 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如下<input name="txt_1" title="姓名">,当然,最好用可视化工具比如dreamweaver什么的来编辑域。
如果要检测数字类型数据的话,再把域的id统一为sz.
javascript判断日期类型比较麻烦,所以就没有做日期类型校验的程序了.高手可以补充。

程序比较草,只是提供一个思路。抛砖引玉! :)
哦,对了,函数调用方法:< form onsubmit="return dovalidate()">

function dovalidate()

{

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

   for(i=0;i<fm.length;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);

fm.focus();

 return false;

 }

  }

   }

   return true;

}

12. 验证radio是否选择

<script language="javascript">

function checkform(obj)

{

for(i=0;i<obj.oo.length;i++)

if(obj.oo[i].checked==true) return true;
alert("请选择")

return false;  
}

</script>

<form id="form1" name="form1" method="post" action=""    onsubmit="return checkform(this)">

    <input type="radio" name="oo" value="radiobutton" />

    <input type="radio" name="oo" value="radiobutton" />

    <input type="submit" name="Submit" value="提交" />

</form>

希望本文所述对大家基于javascript的web程序设计有所帮助。

Javascript 相关文章推荐
Prototype源码浅析 Enumerable部分(二)
Jan 18 Javascript
jQuery性能优化的38个建议
Mar 04 Javascript
JS控制输入框内字符串长度
May 21 Javascript
jQuery CSS()方法改变现有的CSS样式
Aug 20 Javascript
jQuery中appendTo()方法用法实例
Jan 08 Javascript
详细分析JavaScript变量类型
Jul 08 Javascript
js手动播放图片实现图片轮播效果
Sep 17 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
Jan 11 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
Nov 04 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
Jun 01 Javascript
element中table高度自适应的实现
Oct 21 Javascript
ant design vue的form表单取值方法
Jun 01 Vue.js
JavaScript导出Excel实例详解
Nov 25 #Javascript
JS倒计时代码汇总
Nov 25 #Javascript
jquery中push()的用法(数组添加元素)
Nov 25 #Javascript
Jquery焦点图实例代码
Nov 25 #Javascript
jQuery事件绑定和委托实例
Nov 25 #Javascript
2014最热门的JavaScript代码高亮插件推荐
Nov 25 #Javascript
JS跨域问题详解
Nov 25 #Javascript
You might like
DIY实用性框形天线
2021/03/02 无线电
java EJB 加密与解密原理的一个例子
2008/01/11 PHP
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
PHP实现指定字段的多维数组排序函数分享
2015/03/09 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
javascript 避免闭包引发的问题
2009/03/17 Javascript
js模拟点击事件实现代码
2012/11/06 Javascript
nodejs实现遍历文件夹并统计文件大小
2015/05/28 NodeJs
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
彻底弄懂 JavaScript 执行机制
2018/10/23 Javascript
详解小程序开发经验:多页面数据同步
2019/05/18 Javascript
vue指令做滚动加载和监听等
2019/05/26 Javascript
vue-cli创建的项目中的gitHooks原理解析
2020/02/14 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
[00:59]DOTA2背景故事第二期之四大基本法则
2020/07/07 DOTA
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
Python的shutil模块中文件的复制操作函数详解
2016/07/05 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
Python如何转换字符串大小写
2020/06/04 Python
python如何删除文件、目录
2020/06/23 Python
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
幼师求职自荐信范文
2014/01/26 职场文书
《世界多美呀》教学反思
2014/03/02 职场文书
工作分析计划书
2014/04/30 职场文书
应用心理学专业求职信
2014/08/04 职场文书
家具商场的活动方案
2014/08/16 职场文书
保密工作整改情况汇报
2014/11/06 职场文书
2014年个人思想工作总结
2014/11/27 职场文书
新郎结婚感言
2015/07/31 职场文书
导游词之大雁塔景区
2019/09/17 职场文书
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA