`
wangyijiangshui
  • 浏览: 85475 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类

javascript常用验证 常用操作方法(工具方法)

阅读更多

说明:本js文件中包括了一些常用的js验证和常用的js操作方法(源码见附件)

 

//获取字符串真实长度,一个汉字为两个长度,一个英文字符或数字为一个字符

function getTrueLenth(str){

    return str.replace(/[^\x00-\xff]/g,"xx").length;

}

 

 

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function isTel(object){
//国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
 var s =document.getElementById(object.id).value;
 var pattern =/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;
 //var pattern =/(^[0-9]{3,4}\-[0-9]{7,8}$)|(^[0-9]{7,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/;
     if(s!="")
     {
         if(!pattern.exec(s))
         {
          alert('请输入正确的电话号码:电话号码格式为国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"');
          object.value="";
          object.focus();
         }
     }
}

 

//邮箱验证
function Check(object){
  var s =document.getElementById(object.id).value;
       var pattern =/^[a-zA-Z0-9_\-]{1,}@[a-zA-Z0-9_\-]{1,}\.[a-zA-Z0-9_\-.]{1,}$/;
           if(s!="")
           {
               if(!pattern.exec(s))
               {
                alert('请输入正确的邮箱地址');
                object.value="";
                object.focus();
               }
           }
         
  }

 

//验证电子邮箱地址
function verifyEmailAddress(email){ 
  var pattern = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/; 
  flag = pattern.test(email); 
  if(flag){ 
    return true; 
  }else{ 
    return false; 
  } 

String.prototype.Trim = function() {
 return this.replace(/(^\s*)|(\s*$)/g, "");

String.prototype.LTrim = function() {
 return this.replace(/(^\s*)/g, "");

String.prototype.RTrim = function() {
 return this.replace(/(\s*$)/g, "");
}

 

 

//字符处理;
//去左右空格;
function trim(s){
     return rtrim(ltrim(s));
}


//去左空格;
function ltrim(s){
     return s.replace( /^\s*/, "");
}


//去右空格;
function rtrim(s){
     return s.replace( /\s*$/, "");
}

 

//过滤HTML字符
function HTML(text){
    text = text.replace(/&/g, "&");
//    text = text.replace(/"/g, """);
    text = text.replace(/</g, "<");
    text = text.replace(/>/g, ">");
    text = text.replace(/'/g, "’");
    return text ;
}

 

//还原HTML字符
function ReHTML(text){
    text = text.replace(/&/g, "&");
//    text = text.replace(/"/g, '"');
//    text = text.replace(/</g, "<");
    text = text.replace(/>/g, ">");
    text = text.replace(/’/g, "'");
    return text ;
}

 

// 判断中英文混排时候的长度
function byteLength (sStr) {
    aMatch = sStr.match(/[^\x00-\x80]/g);
    return (sStr.length + (! aMatch ? 0 : aMatch.length));
}

 

//获取字符串中英文长度英文返回1其他都是返回2(以每个字符做单位) tmp是总长度
 //参数o作为字符串
 function getStrLength(o){
  var tmp = 0; 
  var txReg = /[u4E00-u9FA5uF900-uFA2D]/;
  if(null != o && '' != o){
   for(var i = 0; i < o.length; i++){
    tmp += txReg.test(o.charAt(i))  ? 1 : 2;
   }
  }
  return tmp;
 }

 

//空字符值;
function isEmpty(s){
    s = trim(s);
    return s.length == 0;
}

 

//数字;
function isNumber(s){
    return !isNaN(s);
}

 

//身份证;
function isCard(s){
    s = trim(s);
    var p = /^\d{15}(\d{2}[xX0-9])?$/;
    return p.test(s);
}

 

//URL;
function isURL(s){
    s = trim(s).toLowerCase();
    var p = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
    return p.test(s);
}

 

//限定长度
function limitLen(s,Min,Max){
    s=trim(s);
    if(s=="") return false;
    if((s.length<Min)||(s.length>Max))
        return false;
    else
        return true;
}

 

//15位以内字母,数字,下划线
function hasAccountChar(s){
    var p = /^[a-zA-Z0-9][a-zA-Z0-9_-]{0,15}$/;
    return p.test(s);
}

 

//判断ie6
function isIE6(){
 return ($.browser.msie&&$.browser.version=='6.0');
}

 

//jquery去除全选操作后,全选那勾的去除
function cancelCheckbox(){
 $('input[type=checkbox]').eq(0).attr('checked',false);
}

 

//只能输入数字和小数点
function clearNoNum(obj) {
  //先把非数字的都替换掉,除了数字和.
 obj.value = obj.value.replace(/[^\d.]/g, "");
  //必须保证第一个为数字而不是.
 obj.value = obj.value.replace(/^\./g, "");
  //保证只有出现一个.而没有多个.
 obj.value = obj.value.replace(/\.{2,}/g, ".");
  //保证.只出现一次,而不能出现两次以上
 obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
}

 

//进行Iframe的自动撑开,让所有父页面的Iframe都自动适应包含页高度  
function iframeAutoHeight() {
 var doc = document, p = window;
 while (p = p.parent) {
  var frames = p.frames, frame, i = 0;
  while (frame = frames[i++]) {
   if (frame.document == doc) {  
            //    frame.frameElement.style.height = doc.body.scrollHeight; 
    frame.frameElement.style.height = 200;
    doc = p.document;
    break;
   }
  }
  if (p == top) {
   break;
  }
 }
}

 

//获得URL路径中的参数值
function getUrlPara(paras) {
 var url = location.href;
 var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
 var paraObj = {};
 for (i = 0; j = paraString[i]; i++) {
  paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);
 }
 var returnValue = paraObj[paras.toLowerCase()];
 if (typeof (returnValue) == "undefined") {
  return "";
 } else {
  return returnValue;
 }
}

 

//只能输入数字

/***
* 不带负号的输入
* 调用方式:onkeydown = "DigitInput(this,event);"
* 8:退格键、46:delete、37-40: 方向键
* 48-57:小键盘区的数字、96-105:主键盘区的数字
* 110、190:小键盘区和主键盘区的小数
* 189、109:小键盘区和主键盘区的负号
***/
function DigitInputOnly(el,ev) {
    var event = ev || window.event;                             //IE、FF下获取事件对象
    var currentKey = event.charCode||event.keyCode;             //IE、FF下获取键盘码
   
    //小数点处理
    if (currentKey == 110 || currentKey == 190) {
        if (el.value.indexOf(".")>=0)
            if (window.event)                       //IE
                event.returnValue=false;                 //e.returnValue = false;效果相同.
            else                                    //Firefox
                event.preventDefault();

    } else
        if (currentKey!=8 && currentKey != 46 && (currentKey<37 || currentKey>40) && (currentKey<48 || currentKey>57) && (currentKey<96 || currentKey>105))
            if (window.event)                       //IE
                event.returnValue=false;                 //e.returnValue = false;效果相同.
            else                                    //Firefox
                event.preventDefault();

}

 

/***
 带负数的输入
* 调用方式:onkeydown = "DigitInput(this,event);"
 8:退格键、46:delete、37-40: 方向键
 48-57:小键盘区的数字、96-105:主键盘区的数字
 110、190:小键盘区和主键盘区的小数
 189、109:小键盘区和主键盘区的负号
***/
function DigitInputWith(el,ev) {

    var event = ev || window.event;                             //IE、FF下获取事件对象
    var currentKey = event.charCode||event.keyCode;             //IE、FF下获取键盘码
   
    //小数点处理
    if (currentKey == 110 || currentKey == 190) {
        if (el.value.indexOf(".")>=0)
            if (window.event)                       //IE
                event.returnValue=false;                 //e.returnValue = false;效果相同.
            else                                    //Firefox
                event.preventDefault();

    } else
        //负号处理
        if (currentKey == 189 || currentKey == 109) {
            if (getPosition(el)>0 || el.value.indexOf("-")>=0)
                if (window.event)                       //IE
                    event.returnValue=false;                 //e.returnValue = false;效果相同.
                else                                    //Firefox
                    event.preventDefault();
        } else
        if (currentKey!=8 && currentKey != 46 && (currentKey<37 || currentKey>40) && (currentKey<48 || currentKey>57) && (currentKey<96 || currentKey>105))
            if (window.event)                       //IE
                event.returnValue=false;                 //e.returnValue = false;效果相同.
            else                                    //Firefox
                event.preventDefault();

}

 

/**
  * 获取光标所在的字符位置
  * @param obj 要处理的控件, 支持文本域和输入框
  * @author hotleave
  */
function getPosition(obj){
    var result = 0;
    if(obj.selectionStart){ //非IE浏览器
        result = obj.selectionStart
    }else{                  //IE
        var rng;
        if(obj.tagName == "TEXTAREA"){ //如果是文本域
            rng = event.srcElement.createTextRange();
            rng.moveToPoint(event.x,event.y);
        }else{                         //输入框
            rng = document.selection.createRange();
        }
        rng.moveStart("character",-event.srcElement.value.length);
        result = rng.text.length;
    }
    return result;
}

 

//只能输入数字和字母
function checktest(obj){
 var   re=/^[A-Za-z0-9]*$/;
 var   str= '';
 if   (re.test(obj.value)==false){
  obj.value=str;
 }else{
  str=obj.value;
 }
}

 

分享到:
评论

相关推荐

    JavaScript常用验证脚本总结

    这篇博客“JavaScript常用验证脚本总结”提供了一些在实际开发中常用的JavaScript验证技术,帮助开发者确保用户输入的数据符合预期格式和要求,提高应用程序的安全性和用户体验。以下是关于这个主题的详细知识点: ...

    javascript常用函数 javascript 常用库

    一、JavaScript常用函数 1. 数组操作函数 - `push()`: 向数组末尾添加一个或多个元素,并返回新长度。 - `pop()`: 删除并返回数组最后一个元素。 - `shift()`: 删除并返回数组第一个元素。 - `unshift()`: 在...

    常用javascript验证功能

    下面我们将深入探讨"常用javascript验证功能",包括取keycode大全、日期格式化及验证以及数字格式验证。 1. Keycode大全: Keycode是键盘按键的唯一标识符,JavaScript可以捕获并处理这些按键事件。通过监听键盘...

    javascript常用语句 js简单验证 js

    6. **正则表达式验证**:尽管在示例代码中没有直接使用正则表达式,但在实际的JavaScript验证中,正则表达式是非常重要的工具,用于检查字符串是否符合特定模式,如验证邮箱、电话号码等格式。 7. **事件处理程序**...

    22.2 JavaScript 常用操作

    总结,JavaScript的常用操作涵盖了变量管理、数据处理、流程控制等多个方面,而DOM和BOM则是JavaScript与网页内容交互的核心工具。通过熟练掌握这些知识,开发者可以创建出更具吸引力和实用性的Web应用。

    js常用验证方法

    根据提供的文件内容,我们可以总结出一系列JavaScript常用的验证方法及其应用场景。这些验证方法涵盖了文本长度限制、字符类型过滤、电子邮件格式检查、密码匹配等常见的前端验证需求。下面将逐一解析每个验证方法的...

    javascript客户端验证和页面特效制作

    ### JavaScript客户端验证与页面特效制作知识点详解 #### 第一章:JavaScript的基本特征 ##### 一、关于JavaScript JavaScript 是一种轻量级的编程语言,它最初由 Netscape 和 Sun Microsystems 共同开发。该语言...

    json操作常用工具类

    这个"json操作常用工具类"的压缩包很可能是包含了一些常用的Java JSON处理工具,帮助开发者更便捷地进行JSON的解析、生成、序列化和反序列化。 1. **Jackson库** Jackson是Java中最流行的JSON处理库之一,它提供了...

    javascript 常用校验代码

    这篇博客“javascript 常用校验代码”可能包含了多种用于验证用户输入、数据格式以及其他关键业务逻辑的JavaScript函数和方法。 在JavaScript中,数据校验主要针对以下几个方面: 1. **用户输入校验**:这通常涉及...

    JavaScript常用功能对象

    ### JavaScript常用功能对象详解 在JavaScript编程中,掌握一系列实用的功能对象是提升代码效率与质量的关键。本文将深入解析几个常用的JavaScript功能对象及其具体应用,包括`StrLengthByByte`、`IsEmailAddress`...

    JavaScript常用特效实例

    "JavaScript常用特效实例"这个主题涵盖了JavaScript在网页设计中的多种实用技巧和效果,下面将详细介绍其中可能涉及的一些关键知识点。 1. **DOM操作**:JavaScript能够通过Document Object Model(DOM)来改变HTML...

    常用表单数据验证JS

    以下是一些关于表单数据验证的基本概念和常用方法: 1. **基本概念**: - **数据验证**:是指在用户提交表单数据前,检查其是否满足特定条件,如长度、格式、范围等。 - **前端验证**:在客户端(用户浏览器)...

    JavaScript常用函数数、常用正则表达式收集___下载.zip

    在这个"JavaScript常用函数数、常用正则表达式收集___下载.zip"压缩包中,我们可以预见到一系列与JavaScript相关的实用工具函数和常用的正则表达式模式。 首先,让我们来探讨JavaScript中的常用函数。在JavaScript...

    Meteora 0.7 JavaScript常用插件集

    **Meteora 0.7 JavaScript 常用插件集详解** Meteora 0.7 是一个针对JavaScript开发者的资源集合,旨在提供一系列实用的插件,以提升网页编程的效率和功能。这个集合包含了多种不同类型的插件,涵盖了前端开发的多...

    Meteora 0.7 JavaScript常用插件集.zip

    这个集合可能包括了各种类型的插件,如DOM操作、动画效果、数据处理、表单验证、响应式设计支持等,这些都是JavaScript开发者在日常工作中经常需要用到的工具。 在JavaScript世界中,插件是扩展或增强原生功能的...

    Javascript常用486范例

    "Javascript常用486范例"提供了一套全面的示例集合,旨在帮助开发者解决实际项目中的各种问题和难点。这个资源涵盖了JavaScript的核心概念、DOM操作、事件处理、AJAX交互、函数与对象、正则表达式、JSON数据处理等多...

    封装JavaScript常用类库.rar

    "封装JavaScript常用类库.rar"是一个压缩包,其中包含了一个或多个文本文件,很可能是为了便于开发者复用和管理常见的JavaScript功能,避免重复编写相同或相似的代码,从而提高开发效率并减少潜在错误。 首先,让...

    JavaScript工具库

    JavaScript工具库是程序员在开发Web应用时常用的资源,它包含了各种实用的函数和方法,旨在简化JavaScript编程,提高代码效率。这些工具库通常提供了一系列针对DOM操作、事件处理、动画效果、Ajax通信等功能的API。...

    javascript 常用方法

    JavaScript是一种广泛应用于Web开发...总结,JavaScript的JSON操作是数据交换的重要工具,而MD5哈希计算则在数据验证和安全领域有广泛应用。通过理解这些基础知识,开发者可以更好地处理Web应用中的数据和安全性问题。

Global site tag (gtag.js) - Google Analytics