项目中常用的JS方法整理


Posted in Javascript onJanuary 30, 2015

验证是否为图片格式

 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方法了,整理出来,希望小伙伴们能够喜欢。

Javascript 相关文章推荐
js控制CSS样式属性语法对照表
Dec 11 Javascript
JQueryEasyUI datagrid框架的进阶使用
Apr 08 Javascript
jQuery 中国省市两级联动选择附图
May 14 Javascript
node.js中的console.assert方法使用说明
Dec 10 Javascript
教你使用javascript简单写一个页面模板引擎
May 05 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
Mar 11 Javascript
灵活使用数组制作图片切换js实现
Jul 28 Javascript
jQuery+C#实现参数RSA加密传输功能【附jsencrypt.js下载】
Jun 26 jQuery
Vue项目引进ElementUI组件的方法
Nov 11 Javascript
微信小程序实现打卡日历功能
Sep 21 Javascript
利用js canvas实现五子棋游戏
Oct 11 Javascript
详解TS数字分隔符和更严格的类属性检查
May 06 Javascript
jQuery实现带滚动线条导航效果的方法
Jan 30 #Javascript
jquery实现拖拽调整Div大小
Jan 30 #Javascript
jQuery中$.click()无效问题分析
Jan 29 #Javascript
Eclipse配置Javascript开发环境图文教程
Jan 29 #Javascript
js操作滚动条事件实例
Jan 29 #Javascript
jQuery调取jSon数据并展示的方法
Jan 29 #Javascript
jquery通过load获取文件的内容并跳到锚点的方法
Jan 29 #Javascript
You might like
自己动手做一个SQL解释器
2006/10/09 PHP
php购物车实现代码
2011/10/10 PHP
微信公众平台开发之配置与请求
2015/08/26 PHP
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
JS 控制CSS样式表
2009/08/20 Javascript
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
Extjs4.0 ComboBox如何实现三级联动
2016/05/11 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
node.js + socket.io 实现点对点随机匹配聊天
2017/06/30 Javascript
JS数组操作中的经典算法实例讲解
2017/07/26 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
Vue 中mixin 的用法详解
2018/04/23 Javascript
详解性能更优越的小程序图片懒加载方式
2018/07/18 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
详解Vue-Router源码分析路由实现原理
2019/05/15 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
python:print格式化输出到文件的实例
2018/05/14 Python
对python打乱数据集中X,y标签对的方法详解
2018/12/14 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
Python编写单元测试代码实例
2020/09/10 Python
python 两种方法删除空文件夹
2020/09/29 Python
沃尔玛旗下墨西哥超市:Bodega Aurrera
2020/11/13 全球购物
Overload和Override的区别
2012/09/02 面试题
采购主管岗位职责
2014/02/01 职场文书
新年团拜会主持词
2014/04/02 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
用人单位终止解除劳动合同证明书
2014/10/06 职场文书
银行授权委托书格式
2014/10/10 职场文书
小学生家长意见
2015/06/03 职场文书
《称赞》教学反思
2016/02/17 职场文书
Nginx反爬虫策略,防止UA抓取网站
2021/03/31 Servers