项目中常用的JS方法整理

 更新时间:2015年01月30日 09:10:44   投稿:hebedich  
这里给大家整理的是本人上个项目中所用到的js方法,都是些非常常用的javascript方法,相信小伙伴们也能经常用到,这里整理出来分享给大家。

验证是否为图片格式

复制代码 代码如下:

 function IsImgType(src) {
     var rFilter = /^(?:image\/bmp|image\/cis\-cod|image\/gif|image\/ief|image\/jpeg|image\/jpeg|image\/jpeg|image\/pipeg|image\/png|image\/svg\+xml|image\/tiff|image\/x\-cmu\-raster|image\/x\-cmx|image\/x\-icon|image\/x\-portable\-anymap|image\/x\-portable\-bitmap|image\/x\-portable\-graymap|image\/x\-portable\-pixmap|image\/x\-rgb|image\/x\-xbitmap|image\/x\-xpixmap|image\/x\-xwindowdump)$/i;
     var Filter = /(?:bmp|cis\-cod|gif|ief|jpeg|jpeg|jpeg|pipeg|png|svg\+xml|tiff|x\-cmu\-raster|x\-cmx|x\-icon|x\-portable\-anymap|x\-portable\-bitmap|x\-portable\-graymap|x\-portable\-pixmap|x\-rgb|x\-xbitmap|x\-xpixmap|x\-xwindowdump)$/i;
     return rFilter.test(src) || Filter.test(src);
 }

验证是否为颜色

复制代码 代码如下:

function detectColor(value) {
    var pattern = /^#[0-9a-fA-F]{6}$/; //#XXXXXX
    var result;
    var rgbRegex = /(^rgb\((\d+),\s*(\d+),\s*(\d+)\)$)|(^rgba\((\d+),\s*(\d+),\s*(\d+)(,\s*\d+\.\d+)*\)$)/;
    if (pattern.test(value)) {
        result = value;
    } else if (rgbRegex.test(value)) { //rgba(0, 0, 0, 0)
        result = value;
    }
    return result;
}

将RGB转化为HEX:

复制代码 代码如下:

 function zero_fill_hex(num, digits) {
     var s = num.toString(16);
     while (s.length < digits) {
         s = "0" + s;
     }
     return s;
 }
 function rgb2hex(rgb) {
     if (rgb.charAt(0) == '#') {
         return rgb;
     }
     var ds = rgb.split(/\D+/);
     var decimal = Number(ds[1]) * 65536 + Number(ds[2]) * 256 + Number(ds[3]);
     return "#" + zero_fill_hex(decimal, 6);
 }

验证是否为Email地址:

复制代码 代码如下:

 function testEmail (value, target) {
     value = value.trim();
     if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(value)) {
         target.val("");
         alert("Please fill in the correct E-mail address!");
     }
 }

将图片src转化为data 64:

复制代码 代码如下:

function createImgData(img) {
    var image = new Image();
    image.src = img.src || img;
    var tmpCanvas = $("<canvas></canvas>")[0];
    var tmpCtx = tmpCanvas.getContext("2d");
    if (tmpCanvas) {
        tmpCanvas.width = image.width;
        tmpCanvas.height = image.height;
        tmpCtx.drawImage(image, 0, 0);
        return tmpCanvas.toDataURL();
    }
}

上面这些就是本人最近项目中所用到的常用的js方法了,整理出来,希望小伙伴们能够喜欢。

相关文章

  • 微信小程序实现运动步数排行功能(可删除)

    微信小程序实现运动步数排行功能(可删除)

    这篇文章主要介绍了微信小程序实现运动步数排行功能(可删除),实现代码也很简单,需要的朋友可以参考下
    2018-07-07
  • 七种JS实现数组去重的方式

    七种JS实现数组去重的方式

    这篇文章主要介绍了七种JS实现数组去重的方式,下面文章以JS数组去重的相关资料展开全文内容,具有一定的参考价值,需要的小伙伴可以参考一下
    2021-12-12
  • JS实现的JSON序列化操作简单示例

    JS实现的JSON序列化操作简单示例

    这篇文章主要介绍了JS实现的JSON序列化操作,结合简单实例形式分析了json序列化操作相关实现方法与相关注意事项,代码备有较为详尽的注释便于理解,需要的朋友可以参考下
    2018-07-07
  • JS实现可改变列宽的table实例

    JS实现可改变列宽的table实例

    本文为大家详细介绍下通过JS实现可改变列宽的table,具体的思路及代码如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助
    2013-07-07
  • 移动端JS实现拖拽两种方法解析

    移动端JS实现拖拽两种方法解析

    这篇文章主要介绍了移动端JS实现拖拽两种方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • javascript实现对表格元素进行排序操作

    javascript实现对表格元素进行排序操作

    这篇文章主要介绍了javascript实现对表格元素进行排序操作,分别可以实现点击之后排序和还原,和排升序和降序的功能,文章末尾附完整代码,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • js 数组详细操作方法及解析合集

    js 数组详细操作方法及解析合集

    在开发中,数组的使用场景非常多,平日中也涉及到很多数组的api/相关操作,一直也没有对这块内容进行一块整理总结,很多时候就算用过几次这个api,在开发中也很容易忘记,还是要谷歌一下
    2018-06-06
  • showModelessDialog()使用详解

    showModelessDialog()使用详解

    showModelessDialog()使用详解...
    2006-09-09
  • JavaScript中null和undefined的区别详解

    JavaScript中null和undefined的区别详解

    null 是一个原始值,表示“无”或“空值”,它通常用于指示变量应有的对象或值不存在,undefined 是一个原始值,表示“未定义”,本文给大家详细介绍了JavaScript中null和undefined的区别,需要的朋友可以参考下
    2024-10-10
  • javascript原型模式用法实例详解

    javascript原型模式用法实例详解

    这篇文章主要介绍了javascript原型模式用法,以实例形式较为详细的分析了javascript原型模式的原理与使用技巧,需要的朋友可以参考下
    2015-06-06

最新评论