//图片预览
function previewImage(file,obj) {
var filepath =$(file).val();
var extStart = filepath.lastIndexOf("."); var ext = filepath.substring(extStart, filepath.length).toUpperCase();
if(ext == ".PNG" || ext == ".JPG"|| ext == ".JPEG"){
var MAXWIDTH = 120;
var MAXHEIGHT = 120;
var div = document.getElementById(obj);
if (file.files && file.files[0]) {
div.innerHTML ='<img class=imgStyle id=img'+obj+'>';
var img = document.getElementById("img"+obj);
img.onload = function() {
var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT,120,120);
img.width = rect.width;
img.height = rect.height;
img.style.marginTop = rect.top + 'px';
}
var reader = new FileReader();
reader.onload = function(evt) {
img.src = evt.target.result;
}
reader.readAsDataURL(file.files[0]);
} else //兼容IE
{
var sFilter = 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="';
file.select();
var src = document.selection.createRange().text;
div.innerHTML ='<img class=imgStyle id=img'+obj+'>';
var img = document.getElementById("img"+obj);
img.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;
var rect = clacImgZoomParam(MAXWIDTH, MAXHEIGHT, img.offsetWidth,
img.offsetHeight);
status = ('rect:' + rect.top + ',' + rect.left + ',' + rect.width
+ ',' + rect.height);
div.innerHTML = "<div id=divhead style='width:"+rect.width+"px;height:"+rect.height+"px;margin-top:"+rect.top+"px;"+sFilter+src+"\"'></div>";
}
}else{
$(file).val("");
alert("图片限于png,jpeg,jpg格式");
}
}
function clacImgZoomParam(maxWidth, maxHeight, width, height) {
var param = {
top : 0,
left : 0,
width : width,
height : height
};
if (width > maxWidth || height > maxHeight) {
rateWidth = width / maxWidth;
rateHeight = height / maxHeight;
if (rateWidth > rateHeight) {
param.width = maxWidth;
param.height = Math.round(height / rateWidth);
} else {
param.width = Math.round(width / rateHeight);
param.height = maxHeight;
}
}
param.left = Math.round((maxWidth - param.width) / 2);
param.top = Math.round((maxHeight - param.height) / 2);
return param;
}
//只允许输入0和正整数
function checkInputNum(obj){
var str = obj.value;
if (trim(str) == "")
return;
if (/[^0-9]/g.test(str)) {
obj.value = str.substr(0, str.length - 1);
}
}
//只允许输入正整数,浮点数
function CheckInputIntFloat(oInput) {
if('' != oInput.value.replace(/\d{1,}\.{0,1}\d{0,}/,'')) {
oInput.value = oInput.value.match(/\d{1,}\.{0,1}\d{0,}/) == null ? '' :oInput.value.match(/\d{1,}\.{0,1}\d{0,}/);
}
}
//判断是否是浮点数
function testInputFloat(str){
var rf = /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
return rf.test(str);
}
//判断是否是正整数
function testInputPositive(str){
var rp = /^[0-9]*[1-9][0-9]*$/;
return rp.test(str);
}
//判断输入的是整数或浮点数(保留小数点后两位)(判断面积和价格)
function checkNumIntegerAndFloat(oInput){
var reg = /^((?!0)\d+(.\d{1,2})?)$/;
var val = oInput.value;
if(!reg.test(val)){
alert("输入错误!");
}else{
alert(输入错误!);
}
}