//判断是否数字

 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
//例如删除C这个元素 ,前提不知道C在这个数组的下标
var arr = ['a','b','c','d'];
arr.splice($.inArray('c',arr),1);
alert(arr);

  

//在数组中查找指定值并返回它的索引(如果没有找到,则返回-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

  

js常用通用函数的更多相关文章

  1. js常用工具类.

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

  2. Js常用技巧

    摘录:http://crasywind.blog.163.com/blog/static/7820316920091011643149/ js 常用技巧 1. on contextmenu=" ...

  3. JS常用的标准函数

    原文:JS常用的标准函数 1.Array类型函数 array.concat(item...) 函数功能:关联数组,实现数组相加功能,但并不影响原先数组,concat返回新数组. array.join( ...

  4. JS 常用功能收集

    JS 常用效果收集 1. 回到顶部>>    爱词霸

  5. JS常用校验方法(判断输入框是否为空,数字,电话,邮件,四舍五入等)

    JS常用校验方法: 1.判断输入框是否为空,为空时弹出提示框 2.关闭窗口 3.检查输入字符串是否为数字 4.强制把大写转换成小写 5.手机号码校验,长度为11位数字. 6.电子邮件校验 7.电话号码 ...

  6. Node.js 常用工具

    Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.inherits util.inherit ...

  7. JS常用正则表达式备忘录

    摘要: 玩转正则表达式. 原文:JS常用正则表达式备忘录 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 正则表达式或"regex"用于匹配字符串的各个部分 下面是 ...

  8. js常用数据类型(Number,String,undefined,boolean) 引用类型( function,object,null ),其他数据类型( 数组Array,时间Date,正则RegExp ),数组与对象的使用

    js常用数据类型 数字类型 | 字符串类型 | 未定义类型 | 布尔类型 typeof()函数查看变量类型 数字类型  Number var a1 = 10; var a2 = 3.66; conso ...

  9. js常用身份校验规则

    js常用身份校验规则 var Validator = { extractBirth: function(id) { // 身份证提取出生年月 var re = null, split, year, m ...

随机推荐

  1. spring boot: 用thymeleaf嵌套循环展示多层数据(spring boot 2.3.2)

    一,什么情况下会用到嵌套循环? 当我们展示多个分类时,每个分类下又展示出推荐的前几个商品,   这时我们需要用到嵌套循环 看一个例子: 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https:/ ...

  2. scrapy 管道里面使用mysql插入数据库 python操作mysql

    # -*- coding: utf-8 -*- # Define your item pipelines here # # Don't forget to add your pipeline to t ...

  3. samesite-cookie详解(译文)

    Cookie是便于向网站添加持久化状态的方式之一.随着时间推移,它们的能力得到了扩展和进化,也造成了很多历史遗留问题.为了解决这个问题,浏览器产商(包括Chrome,Firefox,和Edge)改变了 ...

  4. Linux配置阿里epl源

    去阿里云 有源仓库 阿里云镜像官方站点 https://developer.aliyun.com/mirror/ 先备份本机上的源 mv /etc/yum.repos.d/CentOS-Base.re ...

  5. HTML轮播(2)

    前言 现在在完成轮播的框架上进行扩展更多的功能,上下切换图片,以及添加动画滚动更加平滑过渡 CSS <style> #LB { width: 100%; height: 948px; ov ...

  6. pychartdir模块安装

    python模块pychartdir导入问题 在迁移别人写好的脚本时,发现pychartdir没有导入,脚本执行报错.以下是报错内容: [modps@LGJF-ZYC5-MMSC-WEB02 ~]$ ...

  7. buuctf-misc 菜刀666

    解压出一个666666.pcapng的文件,我们拖进wireshark 因为是菜刀吗?一般都是post连接,于是我们过滤post数据 http.request.method==POST 然后分析流量, ...

  8. STC 核心板 入门记

    写在开始 STC核心板,它的软件十分全面,想要什么都有,非常适合新手入门. 上一次电赛刚结束,现在反正也啥也不太会,干脆学个这个吧. 顺便写篇博客记录一下. 记录第一次烧写 周四下单,周六到货.中午拿 ...

  9. vue生命钩子函数

    vue的生命钩子函数在使用Vue开发中是非常重要的一环,可以说,生命钩子函数使开发变得更加便捷. 下图是Vue的生命周期图: 具体钩子如下: beforeCreate created beforeMo ...

  10. 【ELK】Centos7 安装 ELK 7.6.2 和 UI 管理界面以及测试例子

    1. 初始化环境 1.0 初始化环境官网参考 https://www.elastic.co/guide/en/elasticsearch/reference/current/system-config ...