js输入判断+图片预览js

来源:互联网 发布:月光软件 编辑:程序博客网 时间:2024/06/06 12:39

//图片预览

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(输入错误!);

            }
        }

0 0