`
wangyijiangshui
  • 浏览: 83551 次
  • 性别: 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完全学习手册1 源码

    第4章 JavaScript常用对象 73 4.1 Document对象 73 4.1.1 Document对象概述 73 4.1.2 使用Document对象 75 4.2 Form对象及其元素 79 4.2.1 Form对象概述 79 4.2.2 表单元素 80 4.2.3 表单元素属性和事件 82 4.2.4 ...

    javascript完全学习手册2 源码

    第4章 JavaScript常用对象 4.1 Document对象 4.1.1 Document对象概述 4.1.2 使用Document对象 4.2 Form对象及其元素 4.2.1 Form对象概述 4.2.2 表单元素 4.2.3 表单元素属性和事件 4.2.4 表单验证 ...

    JavaScript详解(第2版)

    1.12.2 Validome验证工具 21 1.13 应知应会 22 练习 23 第2章 脚本的安装 24 2.1 HTML文档与JavaScript 24 2.2 语法细节 27 2.2.1 区分大小写问题 27 2.2.2 自由形式及保留字 27 2.2.3 语句及分号 ...

    Eclipse常用插件

    安装方法:Eclipse3.5+ ,只需要将该压缩文件内dropins目录里的内容,解压至eclipse/dropins目录下即可。 插件功能描述: AmaterasUML:UML图形工具 JadClipse:Java反编译插件(使用时注意在Eclipse配置关联:*....

    JavaScript笔记

    可以使用任何文本编辑工具编写 JavaScript 代码,然后由浏览器解释执行。 JavaScript常用于实现如下功能: |--控制文档的外观和内容; |--对浏览器的控制; |--与 HTML 表单的交互; |--与用户的交互; |--...

    php网络开发完全手册

    11.3 常用表单数据的验证方法 177 11.3.1 姓名验证 177 11.3.2 日期验证 177 11.3.3 E-mail地址验证 178 11.3.4 密码字段的验证 178 11.3.5 改进的用户信息输入程序 178 11.4 URL编码解码函数 181 11.4.1 编码字符串...

    基于JSP的个人网页设计和制作毕业设计论文

    语言,本章介绍了基于对象的 JavaScript 中常用部对象属性、方法的使用。第四 章:部对象系统的使用,本章主要介绍使用浏览器的部对象系统,可实现与 HTML 文档进展交互。第五章:WEB 页面信息的交互——窗体与框架...

    C#基类库大全下载--苏飞版

    FTPHelper-FTP帮助类,FTP常用操作方法,添加文件,删除文件等 FTPOperater FTP操作帮助类,方法比较多,比较实用 6.JS操作类 JsHelper JsHelper--Javascript操作帮助类,输出各种JS方法,方便不懂JS的人使用,...

    庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术

    11.3 浏览器常用工具 460 11.3.1 httpwatch 460 11.3.2 ie develper toolbar 461 11.3.3 fiddler 461 11.4 本章总结 462 第12章 开发模板数据绑定控件 463 12.1 asp.net模板属性控件机制 463 12.1.1 模板属性...

    庖丁解牛 纵向切入ASP.NET 3.5控件和组件开发 part1

    11.3 浏览器常用工具 460 11.3.1 httpwatch 460 11.3.2 ie develper toolbar 461 11.3.3 fiddler 461 11.4 本章总结 462 第12章 开发模板数据绑定控件 463 12.1 asp.net模板属性控件机制 463 12.1.1 模板属性...

    庖丁解牛 纵向切入ASP.NET 3.5控件和组件开发 part2

    11.3 浏览器常用工具 460 11.3.1 httpwatch 460 11.3.2 ie develper toolbar 461 11.3.3 fiddler 461 11.4 本章总结 462 第12章 开发模板数据绑定控件 463 12.1 asp.net模板属性控件机制 463 12.1.1 模板属性...

    jQuery权威指南-源代码

    其次详细讲解了jQuery的各种选择器、jQuery操作DOM的方法、jQuery中的事件与应用、jQuery中的动画和特效、Ajax在jQuery中的应用,以及各种常用的jQuery插件的使用方法和技巧,所有这些知识点都配有完整的示例(包括...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    字符串常用操作 字典的使用 三级菜单实例 本周作业-购物车优化 第3周 作业 上节内容回顾 集合及其运算 文件读与写详解 心灵鸡汤 文件修改详解 字符编码转换详解 函数与函数式编程 函数式编程之参数详解 局部变量与...

    庖丁解牛纵向切入ASP.NET 3.5控件和组件开发技术.pdf

    11.3 浏览器常用工具460 11.3.1 httpwatch460 11.3.2 ie develper toolbar461 11.3.3 fiddler461 11.4 本章总结462 第12章 开发模板数据绑定控件463 12.1 asp.net模板属性控件机制463 12.1.1 模板属性介绍463...

    精通JS脚本之ExtJS框架.part2.rar

    本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计进度条、设计工具栏和菜单栏、设计面板、设计表格、设计表单、设计数据表、...

    精通JS脚本之ExtJS框架.part1.rar

    本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计进度条、设计工具栏和菜单栏、设计面板、设计表格、设计表单、设计数据表、...

    jQuery权威指南366页完整版pdf和源码打包

    6.5 综合案例分析—用ajax实现新闻点评即时更新 6.5.1 需求分析 6.5.2 效果界面 6.5.3 功能实现 6.5.4 代码分析 6.6 本章小结 第7章 jquery常用插件 7.1 jquery插件概述 7.2 验证插件validate 7.3...

    Eclipse_Swt_Jface_核心应用_部分19

    9.3.4 工具栏常用的方法 160 9.4 可拖动的工具栏(CoolBar和CoolItem) 161 9.4.1 带有下拉选项的工具栏 163 9.4.2 常用的方法 163 9.5 系统托盘(Tray和TrayItem) 164 9.6 滑动组件 167 9.6.1 滑块...

Global site tag (gtag.js) - Google Analytics