项目中常用的JS方法整理

验证是否为图片格式

代码如下:

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

(0)

相关推荐

  • 学习ExtJS Window常用方法

    一.属性 plain:布尔类型,true表示强制与背景色保持协调,默认值为false. resizable:布尔类型,用户是否可以调整窗体大小,默认值为true表示可以调整大小. maxinizable:布尔类型,true表示显示最大化按钮,默认值为false. maximized:布尔类型,true表示显示窗体时将窗体最大化,默认值为false. closable:布尔类型,true表示显示关闭按钮,默认值为true. bodyStyle:与边框的间距,如:bodyStyle:"padding

  • nodejs npm包管理的配置方法及常用命令介绍

    1. 输入 npm config ls -l 可以查看当前的目录设置 复制代码 代码如下: ; cli configslong = true ; builtin config C:\Program Files (x86)\nodejs\node_modules\npm\npmrcprefix = "C:\\Users\\sam\\AppData\\Roaming\\npm" ; default valuesalways-auth = falsebrowser = "start

  • 学习ExtJS TextField常用方法

    一.属性 fieldLabel:标签名称. labelWidth:标签宽度. ID:文件框ID. 二.构造参数 listeners:在对象初始化之前,将一系列事件进行绑定. 三.函数 getCmp(string _id):得到id为_id的组件对象. getValue():得到文件框值. 四.其它 layout:只在在此布局下才能正确显示文件框的标签名,布局的宿主对象必面 是Ext.Container或者Ext.Container的子类. 在应用FormLayout布局时只要在宿主对象的构造参数

  • NODE.JS加密模块CRYPTO常用方法介绍

    使用require('crypto')调用加密模块. 加密模块需要底层系统提供OpenSSL的支持.它提供了一种安全凭证的封装方式,可以用于HTTPS安全网络以及普通HTTP连接. 该模块还提供了一套针对OpenSSL的hash(哈希),hmac(密钥哈希),cipher(编码),decipher(解码),sign(签名)以及verify(验证)等方法的封装. crypto.createCredentials(details) 创建一个凭证对象,可选参数details为一个带键值的字典: key

  • 学习ExtJS(二) Button常用方法

    一.属性 renderTo:将当前对象所生成的HTML对象存放在指定的对象中 text:得到按钮名称 minWidth:按钮最小宽度 hidden:按钮的隐藏或显示(true or false) 二.构造参数 handler:指定一个函数句柄,在默认事件触发时调用,此时在默认事件为click listeners:在对象初始化之前,将一系列事件进行绑定. 三.函数 getBogy():对到Body对象 onReady():当页面加载完成时执行本函数 getText():得到按钮名称 setText

  • JS截取字符串常用方法详细整理

    使用 substring()或者slice() 函数:split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组 例子: str="jpg|bmp|gif|ico|png"; arr=theString.split("|"); //arr是一个包含字符值"jpg"."bmp"."gif"."ico"和"png"的数组 函数:Join() 功能:使用您选择的分

  • js(jQuery)获取时间的方法及常用时间类搜集

    复制代码 代码如下: $(function(){ var mydate = new Date(); var t=mydate.toLocaleString(); /*alert(t);*/ $("#time").text(t); $("#time").load("Untitled-1.html"); }); <P id="time">afwef</P> 获取JavaScript 的时间使用内置的Date

  • js页面跳转的常用方法整理

    复制代码 代码如下: <!--脚本开始--> <script language="javascript" type=""> function countDown(secs){ tiao.innerText=secs; if(--secs>0) setTimeout("countDown("+secs+")",1000); } countDown(3); </script> <!-

  • Js 弹出框口并返回值的两种常用方法

    1.window.showModalDialog(url,args,dialogattrs) 参数说明: url:弹出页面地址 agrs:主窗口传给对话框的参数,可以是任意类型(数组也可以) dialogattrs:弹出窗口的样式参数 模式对话框用法: 主窗口:var value =window.showModalDialog('test.jsp',strs,'resizable:yes'); 弹出框中通过window.returnValue来设置返回值,上面的value拿到的就是这个值,然后主

  • js实现按钮加背景图片常用方法

    本文实例讲述了js实现按钮加背景图片常用方法.分享给大家供大家参考.具体实现方法如下: 方法一: 复制代码 代码如下: <input type="submit" onMouseOver="style=background:url('imgs/jb51.gif')"/> 方法二: 复制代码 代码如下: <input type="button" value="提交" style="background:

  • 28个常用JavaScript方法集锦

    经常使用的 JS 方法,今天记下,以便以后查询 /* 手机类型判断 */ 复制代码 代码如下: var BrowserInfo = {     userAgent: navigator.userAgent.toLowerCase()     isAndroid: Boolean(navigator.userAgent.match(/android/ig)),     isIphone: Boolean(navigator.userAgent.match(/iphone|ipod/ig)),   

  • js数组去重的三种常用方法总结

    第一种是比较常规的方法 思路: 1.构建一个新的数组存放结果 2.for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比 3.若结果数组中没有该元素,则存到结果数组中 复制代码 代码如下: 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.lengt

  • js String对象中常用方法小结(字符串操作)

    1.charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码. strObj.charCodeAt(index) 说明: index将被处理字符的从零开始计数的编号.有效值为0到字符串长度减1的数字. 如果指定位置没有字符,将返回NaN. 例如: var str = "ABC"; str.charCodeAt(0); 结果:65 2.fromCharCode方法从一些Unicode字符串中返回一个字符串. String.fromCharCode([code1[,cod

  • jquery和javascript的区别(常用方法比较)

    jquery 就对javascript的一个扩展,封装,就是让javascript更好用,更简单.人家怎么说的来着,jquery就是要用更少的代码,漂亮的完成更多的功能.JavaScript 与JQuery 常用方法比较 1.加载DOM区别 JavaScript: window.onload function first(){ alert('first'); } function second(){ alert('second'); } window.onload = first; window

  • javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异

    在您开始本文的阅读前,我强烈建议您可以先读一读此篇:http://w3help.org/zh-cn/causes/SD9004.            HTMLCollection 接口定义 interface HTMLCollection{      readonly attribute unsigned long   length;      Node               item(in unsigned long index);      Node               na

  • Javascript select下拉框操作常用方法

    复制代码 代码如下: function AddDropDownList(id,fatherCtl) { if(!document.getElementById(id)) { var ddl = document.createElement('select'); ddl.setAttribute("id",id); if(fatherCtl&&document.getElementById(fatherCtl)) document.getElementById(fathe

  • 学习ExtJS Panel常用方法

    一.属性 frame:布尔类型true 或 false ,为true时表示边框为圆角且具有背景色,取false则反之. xtype:在EXTJS的可视化组件部署中的一种机制,即通过指定xtype的值,来告诉容量如何初始化所包含的级件,如xtype:"textfiled",表示使用Ext.form.TextFile来进行初始化当前组件. xtype Class ------------- ------------------ box Ext.BoxComponent button Ext

随机推荐