前端开发常用JS工具函数整理:图片、颜色、邮箱与Base64转换

作者:百宝袋时间:2026-10-28 21:10:01浏览:212

本文整理了前端项目中常用的JavaScript工具方法,涵盖图片格式验证、颜色值(Hex与RGB)检测、邮箱地址正则校验以及将图片src转换为Base64编码的实现。代码示例清晰,可直接应用于实际开发场景,提升数据处理效率。

图片格式验证方法

验证图片格式

实现代码如下:

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!");
     }
 }

图片转Base64实现

将图片src转换为Base64编码

实现代码如下:

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方法汇总,整理分享供参考。

作者最新文章