当前位置: 首页 > news >正文

js常用通用函数(++++验证)

//判断是否数字

复制代码
 function isNumber(str){
     var n = Number(str);
     if (!isNaN(n)){
         return true;
     }else{
         return false;
     }
 }
复制代码

//判断是否对象

复制代码
 function isObj(obj){
     if(typeof obj=="object"){
         return true;
     }else{
         return false;
     }
 }
复制代码

//判断是否为空

复制代码
 function emptyFun(obj){
     var obj=obj;
     if(obj==""||obj==null||obj==undefined||obj=="null"||obj=="undefined"){
         return true;
     }else{
         return false;
     }
 }
复制代码

//获取地址栏参数

 function GetQueryString(name){
      var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
      var r = window.location.search.substr(1).match(reg);
      if(r!=null)return  unescape(r[2]); return null;
 }

//转换时间格式 eg:1972-10-26

复制代码
 function getLocalTime(nS) {
     var now = new Date(nS);
     if(!now){
         return 0;
     }else{
         var year=now.getFullYear();//年
         var month=now.getMonth()+1;//月
         var date=now.getDate();//日
         var hour=now.getHours();//时
         var minute=now.getMinutes();//分
         var second=now.getSeconds();//秒
         return year+"-"+month+"-"+date;
     }
 }
复制代码

//数组去重

复制代码
 Array.prototype.unique1 = function(){
     var res = [this[0]];
     for(var i = 1; i < this.length; i++){
         var repeat = false;
         for(var j = 0; j < res.length; j++){
             if(this[i] == res[j]){
                 repeat = true;
                 break;
             }
         }
         if(!repeat){
             res.push(this[i]);
         }
     }
     return res;
 }
复制代码

//校验是否全由数字组成 

 function isDigit(s) 
 { 
     var patrn=/^[0-9]{1,20}$/; 
     if (!patrn.exec(s)) return false 
     return true 
 } 

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 

 function isRegisterUserName(s) 
 { 
     var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; 
     if (!patrn.exec(s)) return false 
     return true 
 } 

//校验用户姓名:只能输入1-30个以字母开头的字串 

function isTrueName(s) 
{ 
    var patrn=/^[a-zA-Z]{1,30}$/; 
    if (!patrn.exec(s)) return false 
    return true 
} 

//校验密码:只能输入6-20个字母、数字、下划线 

function isPasswd(s) 
{ 
    var patrn=/^(\w){6,20}$/; 
    if (!patrn.exec(s)) return false 
    return true 
} 

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-” 

复制代码
 function isTel(s) 
 { 
     //var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/; 
     var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; 
     if (!patrn.exec(s)) return false 
     return true 
 } 
复制代码

//校验手机号码:必须以数字开头,除数字外,可含有“-”

 function isMobil(s) 
 { 
     var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; 
     if (!patrn.exec(s)) return false 
     return true 
 } 

//校验邮政编码 

function isPostalCode(s) 
{ 
  var patrn=/^[a-zA-Z0-9 ]{3,12}$/; 
  if (!patrn.exec(s)) return false 
  return true 
} 

 //校验搜索关键字 

复制代码
function isSearch(s) 
{ 
    var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;\'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\'\,.<>?]{0,19}$/; 
    if (!patrn.exec(s)) return false 
    return true 
} 
复制代码

 //检测IP地址

function isIP(s) 
{ 
    var patrn=/^[0-9.]{1,20}$/; 
    if (!patrn.exec(s)) return false 
    return true 
} 

//转换时间  eg:1972/10/26 上午3:21

复制代码
 function getLocalTime(nS) {
      if(!nS){
          return 0;
      }else{
          return new Date(parseInt(nS)).toLocaleString().replace(/:\d{1,2}$/,' ');
      }
  }
复制代码

 //对象排序

var dic={x:2,z:1,y:3};//输出   {z:1,x:2,y:3}
 var sdic=Object.keys(dic).sort(function(a,b){return dic[a]-dic[b]});
 for(ki in sdic){                     
    console.log(sdic[ki]+":"+dic[sdic[ki]]+",");
 }

 // js sort方法根据数组中对象的某一个属性值进行排序

复制代码
function keysrt(key,desc) { 
    return function(a,b){ 
        return desc ? ~~(a[key] < b[key]) : ~~(a[key] > b[key]);
    }
}
使用:
  var  ary=[{id:1,name: "b" },{id:2,name: "b" }];
  ary.sort(keysrt( 'name' , true ));
 
复制代码

 //js排序数字,js排序字母,js最大值,js最小值

复制代码
// 支持IE7
var fruits = [454, 1331, 14, 355];
fruits.sort(function(a,b){return a-b});
alert(fruits.toString());// 不支持IE7及以下,最小值
var a = [3332, 3400, 500, 710];
var lowValue = a.concat().sort(function(a, b){return a - b})[0];
var lowIndex = a.indexOf(lowValue);
alert(lowValue);

// 不支持IE7及以下,比较小数最小值
var array, min, index;
array = [711.22,22.22,3400.121,500.55,6.2,710];
min = Math.min.apply(null, array);
index = array.indexOf(min);
alert(array[index]);

// 正序排序字母
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
// Apple,Banana,Mango,Orange

// 倒叙排列字母
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits.reverse();
// Orange,Mango,Banana,Apple

// 正序排序数字
var points = [40,100,1,5,25,10];
points.sort(function(a,b){return a-b});
// 1,5,10,25,40,100

// 倒叙排列数字
var points = [40,100,1,5,25,10];
points.sort(function(a,b){return b-a});
// 100,40,25,10,5,1
复制代码
1
2
3
4
//例如删除C这个元素 ,前提不知道C在这个数组的下标
var  arr = [ 'a' , 'b' , 'c' , 'd' ];
arr.splice($.inArray( 'c' ,arr),1);
alert(arr);

  

1
2
3
4
5
6
7
8
9
10
11
//在数组中查找指定值并返回它的索引(如果没有找到,则返回-1)。
 
jQuery.inArray( value, array [, fromIndex ] )
$.inArray( 5 + 5, [  "8" "9" "10" , 10 +  ""  ] );
demo:
var  arr = [ 4,  "Pete" , 8,  "John"  ];
var  $spans = $( "span" );
$spans.eq(0).text(jQuery.inArray( "John" , arr));   //"John" found at 3
$spans.eq(1).text(jQuery.inArray(4, arr));  //4 found at 0
$spans.eq(2).text(jQuery.inArray( "Karl" , arr));  //"Karl" not found, so -1
$spans.eq(3).text(jQuery.inArray( "Pete" , arr, 2));  //"Pete" is in the array, but not at or after index 2, so -1

  

转载于:https://www.cnblogs.com/Liu-yz/p/10395631.html

相关文章:

  • Spring Boot MyBatis配置多种数据库
  • 简单基于spring的redis配置(单机和集群模式)
  • 关于字符编码你应该知道的事情
  • 微信小程序--------语音识别(前端自己也能玩)
  • IoC组件Unity再续~根据类型字符串动态生产对象
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • 什么是API网关 如何设计亿万级统一网关
  • React的组件模式
  • passportjs 源码分析
  • Google Play 下架 App 之后的替身制作
  • 安卓应用性能调试和优化经验分享
  • Redis 懒删除(lazy free)简史
  • vue全家桶+Koa2开发笔记(8)--开发网页
  • Mycat - 实现数据库的读写分离与高可用
  • 理解 JavaScript 中的 this
  • php的引用
  • 【刷算法】求1+2+3+...+n
  • 2017-09-12 前端日报
  • 2018一半小结一波
  • classpath对获取配置文件的影响
  • co模块的前端实现
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • css属性的继承、初识值、计算值、当前值、应用值
  • java中具有继承关系的类及其对象初始化顺序
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • MySQL用户中的%到底包不包括localhost?
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • TypeScript迭代器
  • Unix命令
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 容器服务kubernetes弹性伸缩高级用法
  • 如何胜任知名企业的商业数据分析师?
  • 我与Jetbrains的这些年
  • 学习HTTP相关知识笔记
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​虚拟化系列介绍(十)
  • #{} 和 ${}区别
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (09)Hive——CTE 公共表达式
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (java)关于Thread的挂起和恢复
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (三)模仿学习-Action数据的模仿
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (转)Sublime Text3配置Lua运行环境
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • **PHP分步表单提交思路(分页表单提交)
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET分布式缓存Memcached从入门到实战
  • .net知识和学习方法系列(二十一)CLR-枚举