项目中常用的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 相关文章推荐
基于jQuery的动态表格插件
Mar 28 Javascript
jquery入门—数据删除与隔行变色以及图片预览
Jan 07 Javascript
javascript实现设置、获取和删除Cookie的方法
Jun 01 Javascript
jquery实现叠层3D文字特效代码分享
Aug 21 Javascript
ionic隐藏tabs的方法
Aug 29 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
Nov 10 Javascript
jQuery的事件预绑定
Dec 05 Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
Jul 26 Javascript
vue-cli项目无法用本机IP访问的解决方法
Sep 20 Javascript
socket io与vue-cli的结合使用的示例代码
Nov 01 Javascript
Vuex mutitons和actions初使用详解
Mar 04 Javascript
如何利用javascript接收json信息并进行处理
Aug 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
用文本作数据处理
2006/10/09 PHP
php去除字符串换行符示例分享
2014/02/13 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
2017/05/19 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
2011/01/17 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
bootstrap-table组合表头的实现方法
2017/09/07 Javascript
js保留两位小数方法总结
2018/01/31 Javascript
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
2019/05/12 Javascript
javascript定时器的简单应用示例【控制方块移动】
2019/06/17 Javascript
微信小程序实现音频文件播放进度的实例代码
2020/03/02 Javascript
Vue点击切换Class变化,实现Active当前样式操作
2020/07/17 Javascript
浅谈python对象数据的读写权限
2016/09/12 Python
详解程序意外中断自动重启shell脚本(以Python为例)
2019/07/26 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
优秀学生获奖感言
2014/02/15 职场文书
住宅质量保证书
2014/04/29 职场文书
大三学习计划书范文
2014/05/02 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
2015教师年度考核评语
2015/03/25 职场文书
给学校的建议书400字
2015/09/14 职场文书
Python虚拟环境virtualenv是如何使用的
2021/06/20 Python
python解析json数据
2022/04/29 Python
Flink 侧流输出源码示例解析
2022/09/23 Servers