`
yhz61010
  • 浏览: 562474 次
  • 来自: -
博客专栏
63c13ecc-ef01-31cf-984e-de461c7dfde8
libgdx 游戏开发
浏览量:12273
社区版块
存档分类
最新评论

Javascript 常用函数大全

阅读更多
http://www.cnitblog.com/flutist1225/articles/18780.html




一、验证类

1、数字类
1.1 整数
/*********
* signed int
*
*/
function IsInt(str)
{
if(/^(-|\+)?\d+$/.test(str))
{
  return true;
}
else
{
  alert("false");
  return false;
}
}
1.2 正整数 (包含0)
/*********
* unsigned int str >=0
*
*/
function IsUInt(str)
{
if(/^\d+$/.test(str))
{
alert("true");
  return true;
}
else
{
  alert("false");
  return false;
}
}
1.3字节
function isByte(x)
{
  return (!isNaN(x) && x >= 0 && x <= 255);
}
1.4无符号整数
function isUnsignedInt(x)
{
  return (!isNaN(x) && x > 0 && x <= 65535);
}

1.5 负整数
/*********
* int str <0
*
*/
function Is_Int(str)
{
if ( /^-\d+$/.test(str))
{
alert("true");
  return true;
}
else
{
  alert("false");
  return false;
}
}
1.6小于等于iMax 整数
/*********
* int str <=iMAX
*
*/
function IntLowMax(str,iMAX)
{
if ((/^\d+$/.test(str)) && (str <= iMAX))
{
alert("true");
  return true;
}
else
{
  alert("false");
  return false;
}
}
1.7 大于等于iMin整数
/*********
* int str >=iMin
*
*/
function IntHighMin(str,iMin)
{
if ((/^\d+$/.test(str)) && (str >= iMin))
{
alert("true");
  return true;
}
else
{
  alert("false");
  return false;
}
}
1.8 iMin-iMax 之间的整数
/***********************
* int iMin<=str <=iMax
*
************************/
function IntinMinMax(str,iMin,iMax)
{
if ((/^\d+$/.test(str)) && (iMin<=parseInt(str)) &&(parseInt(str)<=iMax))
{
  return true;
}
else
{
  alert("false!");
  return false;
}
}
1.9 是十六进制数
function isHexStr(sTest){
var result = true;
var m;
sTest = String(x).replace(/^\s+|\s+$/g,"");
m = sTest.match(/^([0-9a-fA-F]*)$/);

if(m == null)
{
alert("Is not Hex string!");
result = false;
}
return result;
}
2、字符类
2.1 a-Z或A-Z的字母组成
/***********************
*  just a string a-zA-Z
*
************************/
function IsChar(str)
{
if (/[^a-zA-Z]/g.test(str))
{
  alert("nor char!!");
  return false;
}
else
{
  return true;
}
}
2.2 字母和数字组成
/***********************
*  just a string a-zA-Z0-9
*
************************/
function IsDigitalChar(str)
{
if (/[^0-9a-zA-Z]/g.test(str))
{
  alert("nor char!!");
  return false;
}
else
{
  return true;
}
}

2.3 由字母和数字,下划线组成.且开头的只能是下划线和字母
/***********************
*  a string a-zA-Z0-9_
*
************************/
function IsDigitalChar_(str)
{
if (/^([a-zA-z_]{1})([\w]*)$/g.test(str))

  return true;
}
else
{
alert("not char!!");
  return false;
}
}
2.4 字符串替换函数.Replace();

3、网络类
3.1 IP_address 点分十进制表示 (e.g: 172.17.8.1)
function isip(s){
var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}};
var re=s.split(".");

if( (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false)
{
return true;
}
else
{
alert("Invalid IP");
return false;
}
}
3.2 Mask 点分十进制表示( e.g: 255.255.255.0  , not netmask 32, 24 and so on)
function isFF(x)
{
  return (!isNaN(x) && x >= 0 && x <= 255);
}

function isDottedNetmask(s)
{
  s = String(s).replace(/^\s+|\s+$/g,"");//remove space
  var result = s.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
 
  if (result && result.length == 5 &&  isFF(result[1]) && isFF(result[2]) && isFF(result[3]) && isFF(result[4]))
    {
      var last_bit = 1; // accept 255.255.255.255
      var cnt = 0;
      for (var i=1; i <= 4; i++)
      {
        var mask = parseInt(result[i], 10);

        for (var j=7; j >= 0; j--)
        {
          var n = Math.pow(2, j);
         
          var bit_on = (mask & n) ? 1 : 0;
          if (last_bit != bit_on)
          {
            last_bit = bit_on;
            cnt++;    //no change or Just change once,from 1 to 0  : subnet mask
          }
        }
      }
      if(cnt > 1)
      {
       alert("Invalid NetMask");
       return false;
      }
      else
      {
       return true;
      }
    }
 
       alert("Invalid NetMask");
       return false;     
}
3.3 netmask, both isDottedNetmask and netmask, e.g mask32, 24 ...
function isNetmask(s)
{
  if (isDottedNetmask(s))  // isDottedNetmask
  {
    return true;
  }
  s = String(s).replace(/^\s+|\s+$/g,""); //else is netmask like 32, 24
  if (s.match(/[^0-9]/))
  {
    return false;
  }
  var nm = parseInt(s);
  if (isNaN(nm) || nm < 0 || nm > 32)
  {
    return false;
  }
  return true;
}

3.4 Mac_address (e.g: 01:02:03:04:05:06)
   function isMac1(sTest)  
  {  
  var   re1=/^([0-9a-fA-F]{2}-){5}([0-9a-fA-F]){2}$/;  //window 00-10-20-30-40-50
  var   re2=/^([0-9a-fA-F]{2}:){5}([0-9a-fA-F]){2}$/;  //Linux  00:10:20:30:40:50
  var ret=(re1.test(sTest) || re2.test(sTest));
  if( ret==false )
     alert("Invalid Mac");
  return   ret;  
  }
function isMac2(x){ // e.g: 001122aabbff
var result = true;
var m;
x = String(x).replace(/^\s+|\s+$/g,"");
m = x.match(/^([0-9a-fA-F]{12})$/);
if(m == null)
{
  alert("Invalid Mac Address");
  result = false;
}
return result;
}
3.5 Port (e.g: 1-65535)
function isPort(sTest)  
  {  
   var ret=( sTest > 0 && sTest < 65536 );

     if(ret == false)
     {
      alert("Invalid Port Number");
     }
   return ret;
}
3.6 E-mail(e.g: xx@xx.xxx)
/***********************
*  mail format is : xxx@xxx.xxx
*
************************/
function ismail(mail)
{

if(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail))
{
return true;
}
else
{
alert("Invalided Email format");
return false;
}
}
3.7 ICMP类型和代码
function isValidIcmpType(x){
if(x=="") return false;
return (!isNaN(x) &&  ((x == 0) ||  (x >= 3 && x <= 5) ||
  (x == ||  (x >= 11 && x <= 16))  );
}

function isValidIcmpCode(x){
if(x=="") return false;
return (!isNaN(x) &&  (x>=0) && x<(256)  );
}


4、长度和排序
4.1 输入字符长度为n个字符
function strLen(sTest,sMax)
{
if(sTest.length !=sMax)
{
  alert("String length should be "+sMax);
  return false;
}
return true;
}
4.2 输入字符长度在0-N之间
function strLenMax(sTest,sMax)
{
if(sTest.length>sMax)
{
  alert("String length between 0 to "+sMax);
  return false;
}
return true;
}
5、浏览器类
5.1 判断浏览器的类型
function BrowseName()
{
alert(window.navigator.appName);
}
</script>
5.2 判断浏览器版本
function browseVer()
{
alert(window.navigator.appVersion);
}
5.3 判断客户端的分辨率
function Screen()
{
alert(window.screen.width+" * "+ window.screen.height);
}

6、时间类
6.1 短时间 (e.g: 13:04:06)
function isTime(str)
{
var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/);
if (a == null || a[1]>23 || a[3]>59 || a[4]>59)
{
  alert("Format is invalided");
  return false
}
else
{
  return true;
}
}
6.2 短日期 (e.g: 2003-12-05)
function strDate(str)
{
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
if(r==null)
{
alert("Pattern err!");
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;
}
else
{
alert("Invalided date");
return false;
}
}
6.3 长时间 (e.g: 2003-12-05 13:04:06 or 2003/12/15 1:2:3)
function isDateTime(str) //e.g:
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)
{
  alert("Pattern err!");
  return false;
}
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);
if (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7])
{
  return true;
}
else
{
  alert("Invalided DateTime");
  return false;
}
}
6.4 只有年和月 (e.g: 2003-05,或者2003/5)
function isDate(str)
{
var reg = /^(\d{1,4})(-|\/)(\d{1,2})$/;
var r = str.match(reg);
if(r==null)
{
  alert("Pattern err!");
  return false;
}
var d= new Date(r[1], r[3]-1);
if (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3])
{
  return true;
}
else
{
  alert("Invalided Date");
  return false;
}
}
6.5 只有小时和分钟 (e.g: 12:03)
function isTime(str)
{
var reg = /^(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)
{
  alert("Pattern err!");
  return false;
}
var hour= parseInt(r[1]);
var min= parseInt(r[2]);
if (hour >=0 && hour < 24 && min >=0 && min <60) 
{
  return true;
}
else
{
  alert("Invalid Time");
  return false;
}
}

7、表单类
7.1 所有的表单的值都不能为空
function NonNull(sTest)
{
if(sTest.value.replace(/^\s+|\s+$/g,"")=="")
{
alert("Input should be NULL!");
return false;
}

return true;
}
7.2确定用户操作后返回指定URL或自身
function confirmCommand(confirmMsg,urlTarget)
{
  if (confirm(confirmMsg))
  {
     return urlTarget;  
     }
  else
     return window.location; //myselft no change
}

7.2 多行文本框的值不能为空。
7.3 多行文本框的值不能超过sMaxStrleng
7.4 多行文本框的值不能少于sMixStrleng
7.5 判断单选框是否选择。
7.6 判断复选框是否选择.
7.7 复选框的全选,多选,全不选,反选
7.8 文件上传过程中判断文件类型

6、结合类
6.1 手机号码的验证
6.2 身份证的验证
function isIdCardNo(num)
{
if (isNaN(num)) {alert("输入的不是数字!"); return false;}
var len = num.length, re;
if (len == 15)
re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
else if (len == 18)
re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
else {alert("输入的数字位数不对!"); return false;}
var a = num.match(re);
if (a != null)
{
if (len==15)
{
var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
else
{
var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;}
}
return true;
}
分享到:
评论

相关推荐

    JavaScript常用函数大全

    JavaScript常用函数大全,从菜鸟到高手的过程是艰辛的,你渴望救助。这本教程就是你无言的助手,默默的帮你到永远。 带奋斗一起飞翔,因为有了它,让我拥有理智之思;我才使过去的失误不再重演到今天的影片里;我...

    javascript常用函数大全(一)借鉴.pdf

    本篇将详细阐述JavaScript中的常见函数,包括常规函数、数组函数、日期函数这三大类。 1. 常规函数 - `alert()`:显示一个警告对话框,用户只能点击“确定”关闭,常用于简单的信息提示。 - `confirm()`:弹出一...

    javascript常用函数大全(一)[借鉴].pdf

    本文主要介绍了JavaScript中的一些常见函数,涵盖了常规函数、数组函数和日期函数三个主要类别。 1. **常规函数** - `alert`:用于弹出一个警告对话框,通常包含一条消息和一个“确定”按钮。 - `confirm`:显示...

    js常用函数大全

    ### JavaScript 常用函数大全 #### 字符串(String) **1. 声明** JavaScript 中有两种方式来声明字符串: - **使用 `new String()` 构造函数**: ```javascript var myString = new String("Every good boy ...

    javascript常用函数 javascript 常用库

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

    javascript常用函数集合

    这个"javascript常用函数集合"涵盖了JavaScript编程中常见的函数和概念,是学习和提升JavaScript技能的重要资源。以下是对这些常见函数和基础知识的详细解释: 1. **变量声明**:在JavaScript中,我们可以使用`var`...

    JavaScript常用函数与代码大全

    这份"JavaScript常用函数与代码大全"包含了丰富的资源,旨在帮助开发者更好地理解和使用JavaScript中的关键函数,提升开发效率。 首先,JavaScript的核心在于其内置函数,如`typeof`用于检测变量类型,`console.log...

    javaScript常用函数使用总结

    JavaScript常用函数使用总结涵盖了多种在JavaScript编程中常用的方法,它们分别属于不同的类型,如String类型和Number类型。以下是对每个函数详细的说明和应用示例: 1. parseInt()函数 parseInt()是String类型的...

    JavaScript 常用函数

    javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数 1.常规函数 javascript常规函数包括以下9个函数: (1)alert函数:显示一个警告对话框,包括一个OK按钮。 (2)confirm函数...

    JavaScript常用判断函数

    ### JavaScript常用判断函数知识点 #### 一、概述 在JavaScript编程中,判断函数是非常重要的工具,可以帮助开发者快速地对各种数据类型进行验证和处理。本文将详细介绍几个常用的JavaScript判断函数,包括`...

    javascript常用判断函数

    本文将详细讲解JavaScript中的几个常见判断函数,这些函数可以帮助开发者进行数据类型的检查和验证。 首先,我们来看`DataLength`函数。这个函数的主要功能是计算字符串的长度,但与JavaScript原生的`length`属性...

    javascript 好用及常用函数(ruby)

    JavaScript 和 Ruby 都是编程语言,虽然它们各自有着独特的语法和设计哲学,但在这个话题中,我们将重点关注JavaScript,特别是它的一些好用且常用的函数。在实际的Web开发中,JavaScript 是不可或缺的一部分,它...

    JavaScript常用函数练习

    JavaScript学习函数时,常常会听懂了却做不来实际例子,本资源有部分函数的经典案例及答案,其中有些是基础题,有些逻辑对新人来说难以理解,希望对大家有所帮助。

    JAVASCRIPT常用函数集一.pdf

    JAVASCRIPT常用函数集一.pdf

    javascript常用方法函数收集

    web前端javascript常用的的公共处理函数大全,性能较好。

    常用JavaScript函数 16 - 30(自我总结)

    这篇自我总结涵盖了JavaScript函数的16到30个常用知识点,旨在帮助开发者更好地理解和应用这些功能强大的工具。 1. **数组操作** - `slice()`:用于从原数组中提取一个子数组并返回,不会改变原数组。 - `splice...

    教案JAVASCRIPT常用函数集一.pdf

    教案JAVASCRIPT常用函数集一.pdf

Global site tag (gtag.js) - Google Analytics