1、图片按比例压缩
function setImgSize(){
var outbox_w=imgbox.width(),
outbox_h=imgbox.height();
imgbox.find('img').each(function(index, el) {
var obj=$(this),
objH=obj.height(),
objW=obj.width();
if((objH/objW)>(outbox_h/outbox_w)){
obj.css({
height: outbox_h+"px",
width: ((objW/objH)*outbox_h)+"px",
marginLeft:((outbox_w-((objW/objH)*outbox_h))/2)+"px"
});
}else{
obj.css({
width: outbox_w+"px",
height: ((objH/objW)*outbox_w)+"px",
marginTop:((outbox_h-((objH/objW)*outbox_w))/2)+"px"
});
}
});
}
2、解析URL上的字符串参数:
function getQueryString(parm){
var reg = new RegExp("(^|&)" + parm + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
需要注意的:unescape()函数(找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 \u00xx 和 \uxxxx 替换这样的字符序列进行解码,与之对应的是escape()编码),ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。
注意:即便value 中有& 连接符,也没有关系,都可以通过encodeURIComponent进行转码成%26的形式,和浏览器自动拼接的并不冲突,记得decodeURIComponent()解码就好。
3、常用的js校验
3.1 手机号校验
/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/
3.2 汉字校验
/^[a-zA-Z\u4e00-\u9fa5]+$/