js判断文件格式|jsnodejs如何判断文件是什么编码格式

js判断文件格式|jsnodejs如何判断文件是什么编码格式的第1张示图

① js验证input文件格式

js判断文件格式及大小,参考如下://判断照片大小function getPhotoSize(obj){ photoExt=obj.value.substr(obj.value.lastIndexOf(".")).toLowerCase();//获得文件后缀名 if(photoExt!='.jpg'){ alert("请上传后缀名为jpg的照片!"); return false; } var fileSize = 0; var isIE = /msie/i.test(navigator.userAgent) && !window.opera; if (isIE && !obj.files) { var filePath = obj.value; var fileSystem = new ActiveXObject("Scripting.FileSystemObject"); var file = fileSystem.GetFile (filePath); fileSize = file.Size; }else { fileSize = obj.files[0].size; } fileSize=Math.round(fileSize/1024*100)/100; //单位为KB if(fileSize>=10){ alert("照片最大尺寸为10KB,请重新上传!"); return false; }}jsp页面:<input type="file" id="imgFile" name="upload" style="width:150px;" onchange="getPhotoSize(this)"/>

② js中用正则表达式判断字符串的格式

|letregex=/^((a|file)(.+)|(img|aio|video))[.+]$/i;test('shouldtestok',()=>{letregex=/^((a|file)(.+)|(img|aio|video))[.+]$/i;expect(regex.test('file(a)[b]')).toBe(true);expect(regex.test('file[b]')).toBe(false);expect(regex.test('file(b)')).toBe(false);expect(regex.test('a(a)[b]')).toBe(true);expect(regex.test('img[c]')).toBe(true);expect(regex.test('aio[e]')).toBe(true);expect(regex.test('video[e]')).toBe(true);expect(regex.test('video(d)[e]')).toBe(false);expect(regex.test('aio(d)[e]')).toBe(false);expect(regex.test('img(d)[e]')).toBe(false);})

③ js 怎么判断图片的真实格式

为了安全起见,js没有能力获取本地文件,所以不能够判断图片的真实格式了很多人内说ActiveXObject可以,这个只是容IE提供的一个对象,其它浏览器不兼容,所以根本不用考虑; 这也是为什么图片的mime类型要在后台判断

④ js文件上传验证文件类型第一个为文本,第二个为MP3格式,第三个为jpg 如何动态验证求解

下面是一个完整的HTML文档,你可以复制后进行直接测试。

代码中有必要的注释:

<!doctypehtml><html><head><metacharset="utf-8"><title>文件类定义</title></head><body><formmethod=postname=upformaction=""enctype="multipart/form-data"><divid="file"style="margin-top:60px;width:auto;hegiht:auto;"></div><ahref="javascript:void(0)"onclick="addUpload()">添加附件</a><spanclass="required">语音文件</span><inputname="btn_up"class="cmd"type="button"id="btn_up"value="上传"style="cursor:hand"onclick="ajaxFileUpload(this.form,this.form.txt1.value)"></form><scripttype="text/javascript">varcount=0;varmaxfile=3;//增加元素functionaddUpload(){if(count>=maxfile)return;//限制最多maxfile个文件框count++;//自增id不同的HTML对象,并附加到容器最后varnewDiv="<divid=divUpload"+count+">"+"请选择上传的音频,图片,或文字,第"+count+"帧"+"<br/>"//下面的每一个input中,都加入了onchange事件,用以在选择完新文件后对其进行判断//同时第二参数用以限定本输入框中的文件类型+"文本:<inputname=txt"+count+"type=filemaxlength=30style=width:60%onchange='confirmType(this,"txt")'/><br/>"+"图片:<inputname=img"+count+"type=filemaxlength=30style=width:60%onchange='confirmType(this,"img")'/><br/>"+"MP3:<inputname=voice"+count+"type=filemaxlength=30style=width:60%onchange='confirmType(this,"voice")'/><br/>"+"<inputtype=buttonvalue=删除onclick=delUpload('divUpload"+count+"')/>"+"</div>";document.getElementById("file").insertAdjacentHTML("beforeEnd",newDiv);}functionconfirmType(th,ty){varv=th.value;if(ty=='txt'&&/.txt$/i.test(v)){//如果是文本框th.style.color='#090';//正确为绿色显示}elseif(ty=='img'&&/.jpg$/i.test(v)){//如果是图片框th.style.color='#090';//正确为绿色显示}elseif(ty=='voice'&&/.mp3$/i.test(v)){//如果是MP3框th.style.color='#090';//正确为绿色显示}else{th.style.color='#F00';//错误为红色显示alert('您所选择的文件类型不正确');}}</script></body></html>

⑤ .js是什么文件格式

.js文件是JavaScript语言文件的扩展名。

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。JavaScript已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。它是世界上最流行的脚本语言,在电脑、手机、平板上浏览的网页,以及基于HTML5的手机App,交互逻辑都是由JavaScript驱动的。

(5)js判断文件格式扩展阅读:

javascript脚本语言的主要特点:

1、解释性:javascript是一种解释语言,源代码不需要经过编译,直接在浏览器上运行时被解释。

2、基于对象:javascript是一种基于对象的语言,能运用自己已经创建了的对象,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。

3、事件驱动:JavaScript可以直接对用户或客户输入做出响应,无需经过web服务程序。他对用户的响应,是以事件驱动的方式进行的,所谓事件驱动,指的是在主页执行了某种操作所产生的动作,此动作称为“事件”。

4、跨平台:JavaScript依赖于浏览器本身,与操作环境无关。只要能运行浏览器的计算机,并支持JavaScript的浏览器就可以正确执行。

5、安全性:JavaScript是一种安全性语言。它不允许访问本地的磁盘,并不能将数据存入服务器上;不允许对网络文本进行修改和删除,只能通过浏览器实现信息浏览或动态交互。可有效的防止数据丢失。

⑥ js怎样判断文件是否为标准的xml

var isXML = function(elem){ // documentElement is verified for cases where it doesn't yet exist // (such as loading iframes in IE – #4833) var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; return documentElement ? documentElement.nodeName !== "HTML" : false;};

⑦ 在js中截取了一个文件的后缀,比如excel,该如何判断截取到的文件格式是不是等于.xls或者.xlsx

后缀你都截取到了。字符串比较一下,不就出来了。

⑧ js如何判断文件类型是否是rar

<!DOCTYPEhtml><html><head></head><body><!–html–><divclass="box"><inputtype="file"name=""id="file"></div><scriptsrc="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script><scripttype="text/javascript">$("#file").change(function(){varfileName=$(this).val();varsuffix=fileName.split(".")[1];if(suffix=="rar"){alert("上传的是rar文件");}else{alert("上传的是其他文件")}})</script></body></html>

选中文件后通过截取.后面的字符串来判断文件是以什么结尾的就可以判断该文件的类型了。上面代码你选中一个文件后,页面会弹出你选择的文件是否为rar格式的文件。效果图

⑨ js,nodejs如何判断文件是什么编码格式

nodejs编码只支持utf8的编码方式,无论是打开某个文件或者写.js脚本都得以utf8的编码方式保存,不然程序无法运行,读出来的文件是乱码。如果是在前台,读取文件是通过FileReader或者FileReaderSync这两个webAPI和input[type='file']标签来配合来完成,但是这个两个API已经包涵了判断文件的编码方式的功能,无论是GBK还是utf8编码的文件都能正确打开不出现乱码,但是nodejs就会出现这样的问题,读取gbk和unicode编码的文件出现奇怪的乱码,有一个模块iconv-lite可以解决编码问题,但是前提是你得知道这个文件的编码方式,举个例子:有一个gkb的文件叫gbk.txt正确查看它的方式如下:var icon=require('iconv-lite');var fs=require('fs')fs.readFile('gbk.txt',function(err,buffer){var str=iconv.decode(buffer,'gbk')console.log(str)//得到无乱码的内容})但是如果不知道文件的编码方式,那有该怎么办呢?那就来聊一聊编码方式,首先UNICODE编码,UNICODE编码的文件无论内容是什么,前两个字节要不是FF FE 或者 FE FF,utf-8头两个字节是EF BB,至于gbk吧,目前我没找到判断方法,只能粗略的判断如果不是unicode和utf8就认为是GBK,代码如下:var fs=require('fs')fs.readFile('code.txt',function(err,buffer){if(buffer[0]==0xff&&buffer[1]==0xfe){console.log('unicode')}else if(buffer[0]==0xfe&&buffer[1]==0xff){console.log('unicode')}else if(buffer[0]==0xef&&buffer[1]==0xbb){console.log('utf8')}else{console.log('else')}})

⑩ 如何判断js中的数据类型

最常见的判断方法:typeofalert(typeof a) ————> stringalert(typeof b) ————> numberalert(typeof c) ————> objectalert(typeof d) ————> objectalert(typeof e) ————> functionalert(typeof f) ————> function其中typeof返回的类型都是字符串形式,需注意,例如:alert(typeof a == "string") ————-> truealert(typeof a == String) —————> false另外typeof 可以判断function的类型;在判断除Object类型的对象时比较方便。 判断已知对象类型的方法: instanceofalert(c instanceof Array) —————> truealert(d instanceof Date) alert(f instanceof Function) ————> truealert(f instanceof function) ————> false注意:instanceof 后面一定要是对象类型,并且大小写不能错,该方法适合一些条件选择或分支。 根据对象的constructor判断: constructoralert(c.constructor === Array) ———-> truealert(d.constructor === Date) ———–> truealert(e.constructor === Function) ——-> true注意: constructor 在类继承时会出错eg, function A(){}; function B(){}; A.prototype = new B(); //A继承自B var aObj = new A(); alert(aobj.constructor === B) ———–> true; alert(aobj.constructor === A) ———–> false;而instanceof方法不会出现该问题,对象直接继承和间接继承的都会报true: alert(aobj instanceof B) —————-> true; alert(aobj instanceof B) —————-> true;言归正传,解决construtor的问题通常是让对象的constructor手动指向自己: aobj.constructor = A; //将自己的类赋值给对象的constructor属性 alert(aobj.constructor === A) ———–> true; alert(aobj.constructor === B) ———–> false; //基类不会报true了; 通用但很繁琐的方法: prototypealert(Object.prototype.toString.call(a) === ‘[object String]’) ——-> true;alert(Object.prototype.toString.call(b) === ‘[object Number]’) ——-> true;alert(Object.prototype.toString.call(c) === ‘[object Array]’) ——-> true;alert(Object.prototype.toString.call(d) === ‘[object Date]’) ——-> true;alert(Object.prototype.toString.call(e) === ‘[object Function]’) ——-> true;alert(Object.prototype.toString.call(f) === ‘[object Function]’) ——-> true;

未经允许不得转载:山九号 » js判断文件格式|jsnodejs如何判断文件是什么编码格式

赞 (0)