`

经常用到的JS 表单验证函数

阅读更多
原帖地址:http://www.cnblogs.com/itxiaoyan2013/archive/2013/05/23/3094252.html

 


最近需要用到用户注册信息的表单验证,然后就查了好些资料,下面就给大家分享一下经常会用到的一些,JS表单验证函数,希望对大家有用。


//邮件校验




 1 //邮件校验 
2 //通过校验返回ture,否则返回false
3 function isEmail(emailStr) {
4 if (emailStr.length == 0) {
5 return fasle;
6 } else {
7 var emailPat=/^(.+)@(.+)$/;
8 var specialChars="/(/)<>@,;:///"/./[/]";
9 var validChars="[^/s" + specialChars + "]";
10 var quotedUser="("[^"]*")";
11 var ipDomainPat=/^(d{1,3})[.](d{1,3})[.](d{1,3})[.](d{1,3})$/;
12 var atom=validChars + '+';
13 var word="(" + atom + "|" + quotedUser + ")";
14 var userPat=new RegExp("^" + word + "(/." + word + ")*$");
15 var domainPat=new RegExp("^" + atom + "(/." + atom + ")*$");
16 var matchArray=emailStr.match(emailPat);
17 if (matchArray == null) {
18 return false;
19 }
20 var user=matchArray[1];
21 var domain=matchArray[2];
22 if (user.match(userPat) == null) {
23 return false;
24 }
25 var IPArray = domain.match(ipDomainPat);
26 if (IPArray != null) {
27 for (var i = 1; i <= 4; i++) {
28 if (IPArray[i] > 255) {
29 return false;
30 }
31 }
32 return true;
33 }
34 var domainArray=domain.match(domainPat);
35 if (domainArray == null) {
36 return false;
37 }
38 var atomPat=new RegExp(atom,"g");
39 var domArr=domain.match(atomPat);
40 var len=domArr.length;
41 if ((domArr[domArr.length-1].length < 2) ||
42 (domArr[domArr.length-1].length > 3)) {
43 return false;
44 }
45 if (len < 2) {
46 return false;
47 }
48 return true;
49 }
50 }
51



////IP地址校验
//正确的IP地址回ture,否则返回false



function isIp(strIp) {
var ipDomainPat=/^((2[0-4]d|25[0-5]|[01]?dd?).){3}(2[0-4]d|25[0-5]|[01]?dd?)$/;
var matchArray=strIp.match(ipDomainPat);
if(matchArray!=null){
return true;
}
}


//电话号码校验
//正确的电话号码(包括区号和“-”如0571-1234567[8] 010-1234567[8] )则返回ture,否则返回false



  function isTelphoneNum(telNum){
var telphoneNumPat=/^0d{2}-d{7,8}|0d{3}-d{7,8}$/;
var matchArray=telNum.match(telphoneNumPat);
if(matchArray!=null){
return true;
}
}


//手机号码校验
//正确的手机号码(如:13800571506 013800571505)则返回ture,否则返回false



  function isMobilephoneNum(mobileNum){
var mobilephoneNumPat=/^1d{10}|01d{10}$/;
var matchArray=mobileNum.match(mobilephoneNumPat);
if(matchArray!=null){
return true;
}
}


 //纯数字验证输入,输入为纯数字则返回ture,否则返回false



 function isDigital(str){
var digitalPot=/^d*$/;
var matchArray=str.match(digitalPot);
if(matchArray!=null){
return true;
}
}


 //18位身份证验证,输入正确的号码返回ture,否则返回false




  function card(id){
var Wi=new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var ai="10X98765432";
var sum=0
var ssum=0;
for(var i=0;i<17;i++){
ssum
=eval(Wi[i]*id.charAt(i));
sum
=ssum+sum;
}
var modNum=sum%11;
if(ai.charAt(modNum)==id.charAt(17)){
return true;
}
}



//纯英文验证输入,判断是否为英文,正确返回ture,否则返回false




  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;
}



//纯中文验证输入,判断是否为中文,正确返回 ture,否则返回false




 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;
}



//非法字符判断,str中有charset则返回ture




 function contain(str,charset){ 
var i;
for(i=0;i<charset.length;i++){
if(str.indexOf(charset.charAt(i))>=0){
return true;
}
return false;
}
}



//选中文本框或文本域文本,在input位置加上 onClick/onFocus="textSelect();" 然后就可以使用以下代码    




function textSelect() {
var obj = document.activeElement;
if(obj.tagName == "TEXTAREA")
{
obj.select();
}
if(obj.tagName == "INPUT" ) {
if(obj.type == "text")
obj.select();
}
}



//只允许输入字母,数字,下划线  




function textOnly(){
var i= window.event.keyCode ;
//8=backspace
//9=tab
//37=left arrow
//39=right arrow
//46=delete
//48~57=0~9
//97~122=a~z
//65~90=A~Z
//95=_
if (!((i<=57 && i>=48)||(i>=97 && i<=122)||(i>=65 && i<=90)||(i==95)||(i==8)||(i==9)||(i==37)||(i==39)||(i==46))){
//window.event.keyCode=27;
event.returnValue=false;
return false;
}
else {
//window.event.keyCode=keycode;
return true;
}
}



//判断URL,正确的URL返回true,否则返回false    




function isURL(URL){
var urlPat=/^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]':+!]*([^<>""])*$/;
var matchArray=URL.match(urlPat);
if(matchArray!=null){
return true;
} else {
return false;
}
}



//判断短日期(如2003-5-23)  




function isDate(date){
var r = date.match(/^(d{1,4})(-|/)(d{1,2})(d{1,2})$/);
if(r==null){
return false;
}
if (r[1]<1 || r[3]<1 || r[3]-1>12 || r[4]<1 || r[4]>31) {
return false
}
var d= new Date(r[1], r[3]-1, r[4]);
if(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]){
return true;
}
}



//判断短时间(HH:MM:SS)  




function isTime(time){
var a = time.match(/^(d{1,2})(:)?(d{1,2})(d{1,2})$/);
if (a == null)
{
return false;
}
if (a[1]>23 || a[1]<0 || a[3]>60 || a[3]<0 || a[4]>60 || a[4]<0){
return false
}
return true;
}



//在表单元素中除button外,按回车键模拟TAB功能  




  function enterToTab(){
if (window.event.keyCode == 13 && window.event.ctrlKey == false && window.event.altKey == false){
if (window.event.srcElement.type != "button")
window.event.keyCode
= 9;
}
else {
return true;
}
}



//在填写表单时按回车键提交表单,name为sumbit控件名  




function enterTOSubmit(name) {
if (window.event.keyCode == 13 && window.event.ctrlKey == false && window.event.altKey == false){
var objSubmit=document.getElementById(name);
objSubmit.focus;
}
else {
return true;
}
}



//判断是否为浮点数,正确返回true      




function isFloat(float,index){
var floatPat=/^(d{1,})[.](d{1,})$/;
var matchArray=float.match(floatPat);
if(matchArray!=null) {
if(matchArray[2].length==index){
return true;
}
}
}



//判断字符最大长度,如果strin的长度不大于maxLen返回ture    




function maxLength(strin,maxLen) {   
var len=0;
for(var i=0;i<strin.length;i++)
{
if(strin.charCodeAt(i)>256)
{
len
+= 2;
}
else {
len
++;
}
}
if(len<=maxLen){
return true;
}
}



//判断字符最小长度,如果的长度不小于minLen返回ture  




function minLength(strin,minLen) {   
var len=0;
for(var i=0;i<strin.length;i++)
{
if(strin.charCodeAt(i)>256)
{
len
+= 2;
}
else {
len
++;
}
}
if(len>=maxLen){
return true;
}
}



 //由三个函数组成checkPassWord(),charMode(),bitTotal()
//校验密码复杂度,密码由数字,大小写字母,特殊字符中的任意三种组合,通过则返回true   




 function checkPassWord(passWord,maxLen){  
if (passWord.length<=maxLen)
return false; //密码太短
Modes=0;
for (i=0;i<passWord.length;i++){
//测试一个字符并判断一共有多少种模式.
Modes|=charMode(passWord.charCodeAt(i));
}
return bitTotal(Modes);
}
//CharMode函数
//
判断某个字符是属于哪一种类型.
function charMode(iN){
if (iN>=48 && iN <=57) //数字
return 1;
if (iN>=65 && iN <=90) //大写字母
return 2;
if (iN>=97 && iN <=122) //小写
return 4;
else
return 8; //特殊字符
}
//bitTotal函数
//
计算出当前密码当中一共有多少种模式
function bitTotal(num){
modes
=0;
for (i=0;i<4;i++){
if (num & 1) modes++;
num
>>>=1;
}
if(modes==3){
return true
}
}



 //判断是否为合法的用户名,合法返回true,否则返回flase
    //用户名由字母和数字、下划线组成,且只能以字母开头,且长度最小为6位




 function isAccount(str){
if(/^[a-z]w{3,}$/i.test(str))
{
return true;
}
else {
return false;
]
}



//取得字符串中中文字的个数  




function getChineseNum(obstring){
var pattern = /^[一-龥]+$/i;
var maxL,minL;
maxL
= obstring.length;
obstring
= obstring.replace(pattern,"");
minL
= obstring.length;
return (maxL - minL)
}



 

本文链接

分享到:
评论

相关推荐

    一个完美的js表单验证案例

    "一个完美的js表单验证案例"利用JavaScript(特别是jQuery库)实现了这一功能,提供了高效、用户友好的验证机制。 JavaScript作为客户端脚本语言,可以直接在用户的浏览器上运行,这使得表单验证可以实时进行,减少...

    经常用到的javascript验证函数收集.docx

    以下是一些常见的JavaScript验证函数,这些函数可以帮助开发者高效地处理字符串的验证工作。 1. **IsStringNull(str)**: 这个函数用于判断一个字符串是否为空,包括`null`、`undefined`、空字符串`""`以及只包含...

    经常用到的javascript验证函数收集第3 3页.docx

    根据提供的文档信息,我们可以整理出一系列常用的JavaScript验证函数及其用途。这些函数可以帮助开发者在前端进行数据有效性检查,确保用户输入的数据符合预期的格式或规则。接下来将详细介绍文档中提到的各项验证...

    javascript表单验证类

    JavaScript表单验证类是Web开发中的重要组成部分,主要用于在用户提交数据前检查输入的有效性和完整性。这个类通常包含了各种验证规则,如非空检查、邮箱格式验证、手机号码验证等,确保用户输入的数据符合预设的...

    JS验证表单填写的格式是否正确的方法

    表单验证能够确保用户提交的信息符合预设的标准,例如正确的电话号码、手机号码或身份证号码格式,从而减少服务器端的压力,提高用户体验,并防止无效数据的提交。下面我们将详细探讨如何使用JS进行这些验证。 1. *...

    经常用到的javascript验证函数收集第1/3页

    本文将深入探讨经常用到的JavaScript验证函数,这些函数在数据输入验证、用户体验优化等方面起着关键作用。以下是几个常见的JavaScript验证函数示例,包括检查空值、去除空白以及判断字符串长度等。 1. **...

    表单验证特效

    本资源“表单验证特效”提供了一个全面的集合,涵盖了多种验证方法,特别适合那些正在学习前端开发,尤其是JavaScript和正则表达式的初学者。 首先,我们要理解表单验证的基本概念。表单是网页中用于收集用户信息的...

    原生js简单表单验证插件特效源码.zip

    这个压缩包“原生js简单表单验证插件特效源码.zip”包含了实现这一功能的源代码,对于学习和理解JavaScript表单验证机制非常有帮助。 首先,表单验证是网页设计中不可或缺的部分,它确保用户输入的数据符合预期格式...

    ASP.NET c# 封装常用到的js通用函数

    这种机制非常适合于动态生成复杂的前端逻辑,如动态表单验证、数据处理等。 ### 显示消息提示对话框并进行页面跳转:`ShowAndRedirect` 此功能结合了消息提示和页面重定向,当需要向用户显示一条信息(如操作结果...

    js表单验证

    JavaScript(简称JS)是网页开发中用于实现客户端交互和数据验证的重要工具,特别是在表单验证领域。表单验证是确保用户输入数据的质量和安全性的重要环节,它可以防止无效或有害的数据被提交到服务器,提高用户体验...

    在线留言表单验证js代码.zip

    本资源“在线留言表单验证js代码.zip”提供了一种JavaScript实现的解决方案,特别适用于创建简洁且功能完善的留言系统。以下是关于这个主题的详细知识点: 1. **JavaScript基础**:JavaScript是一种广泛使用的...

    javascript.html实现表单验证

    附属:js文件附属:JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型...

    原生js仿京东注册页面表单验证代码

    在表单验证中,我们可能需要修改表单元素的样式(如颜色、提示文本)或者插入错误消息,这都需要用到DOM操作,如`getElementById`、`innerHTML`、`classList.add/remove`等。 4. **表单验证逻辑**: - 验证逻辑...

    使用JQuery实现智能表单验证功能

    使用jQuery实现智能表单验证功能涉及前端开发的多个重要知识点,包括HTML表单元素的使用、CSS样式设计、JavaScript编程以及jQuery库的引入和应用。在接下来的内容中,我们将深入探讨这些知识点。 首先,HTML表单是...

    js+html写的实现表格的动态增删改查和表单验证

    JavaScript提供了丰富的事件监听器,如`onsubmit`、`onchange`等,可以在用户提交表单或改变输入值时触发验证函数。验证函数可以检查输入是否为空、格式是否正确,如邮箱格式、电话号码格式等。如果输入无效,可以...

    网页表单验证效果代码

    实现这些验证效果,开发者通常会用到HTML5的内置验证属性(如`required`、`pattern`等),JavaScript/jQuery库(如jQuery Validation Plugin),或者现代前端框架(如React、Vue、Angular等)提供的表单验证功能。...

    jquery特效插件Validform制作一行代码搞定整站的表单验证

    // 表单验证成功后的回调函数,form参数为当前表单对象 alert("表单提交成功!"); } }); }); ``` Validform还支持自定义验证方法,可以通过`regex`或`callback`属性调用。`regex`用于指定正则表达式进行验证,...

    jQuery仿京东会员注册页面表单验证代码特效.zip

    1. **表单验证**:在网页开发中,表单验证是必不可少的一环,确保用户输入的数据符合预期格式和规则。此代码示例中,jQuery将用于验证用户的输入,如邮箱地址、手机号码、密码等,以防止无效或不完整的数据提交。这...

    工作中常用到的JS表单验证代码(包括例子)

    下面,我们就来详细解读这些常用的JavaScript表单验证函数。 首先,验证表单元素是否为空是一个基础且非常重要的验证类型。函数`check_blank`用于检查表单输入项是否为空,如果为空则弹出提示,并清除输入项的值,...

    jquery用户输入表单验证.zip

    在前端开发中,用户输入表单验证是必不可少的一部分,它能确保用户提交的数据符合预期的格式和要求,防止无效或恶意的数据进入系统。本压缩包"jquery用户输入表单验证.zip"显然包含了一些关于如何使用jQuery进行表单...

Global site tag (gtag.js) - Google Analytics