您的位置:首页 > Web前端 > JavaScript

js输入判断+图片预览js

2016-06-07 09:55 411 查看
//图片预览

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

            }

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: