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 相关文章推荐
javascript 多级checkbox选择效果
Aug 20 Javascript
CCPry JS类库 代码
Oct 30 Javascript
Jquery实现显示和隐藏的4种简单方式
Aug 28 Javascript
js数组的基本用法及数组根据下标(数值或字符)移除元素
Oct 20 Javascript
jquery validation验证身份证号,护照,电话号码,email(实例代码)
Nov 06 Javascript
jQuery 复合选择器应用的几个例子
Sep 11 Javascript
js实现类似新浪微博首页内容渐显效果的方法
Apr 10 Javascript
javascript for-in有序遍历json数据并探讨各个浏览器差异
Nov 30 Javascript
JS简单实现父子窗口传值功能示例【未使用iframe框架】
Sep 20 Javascript
详解Vue 全局引入bass.scss 处理方案
Mar 26 Javascript
了解前端理论:rscss和rsjs
May 23 Javascript
小程序实现录音功能
Sep 22 Javascript
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
编写漂亮的代码 - 将后台程序与前端程序分开
2008/04/23 PHP
php + nginx项目中的权限详解
2017/05/23 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
php实现小程序支付完整版
2018/10/09 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
用htc组件制作windows选项卡
2007/01/13 Javascript
javascript 面向对象全新理练之继承与多态
2009/12/03 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
2015/07/28 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
2015/08/09 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
vue 2.0路由之路由嵌套示例详解
2017/05/08 Javascript
详解webpack分包及异步加载套路
2017/06/29 Javascript
JS实现图片居中悬浮效果
2017/12/25 Javascript
代码分析vue中如何配置less
2018/09/28 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
pandas.DataFrame.to_json按行转json的方法
2018/06/05 Python
利用python修改json文件的value方法
2018/12/31 Python
Python OpenCV实现视频分帧
2019/06/01 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
德国团购网站:Groupon德国
2018/03/13 全球购物
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
Hibernate持久层技术
2013/12/16 面试题
关于元旦的广播稿
2014/02/16 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
对党的十八届四中全会的期盼
2014/10/17 职场文书
2014年政工师工作总结
2014/12/18 职场文书
2014年小学语文工作总结
2014/12/20 职场文书
详细介绍Next.js脚手架完整搭建封装
2022/04/26 Javascript
Redis入门基础常用操作命令整理
2022/06/01 Redis