js input的常用事件

1.text输入框的value值不是数字替换为空

html代码

<input type="text" style="width:150px" id="ts_math_input" placeholder="请输入题:" />

js代码

    ts_math_input.oninput = function () {
        console.log(9);
        event.target.value=event.target.value.replace(/[^0-9]/g,'')
    }

2.file单文件,部分类型文件简单读写

html代码

<input type="file" onchange="change(event)">
<img src="" id="image" alt="">

js代码

   function change(e) {
        let readerfile = e.currentTarget.files[0];
        console.log(readerfile);
        const reader = new FileReader();
        //对于json类型文件,有需要转成json.parse格式的文件
        if (readerfile.type == "application/json") {
            reader.onload = function () {
                var result = JSON.parse(reader.result)
                console.log(result);
            }
            reader.readAsText(readerfile);
        }else if(readerfile.type == "image/png"){
            //png图片
            reader.onload = function () {
                image.src = reader.result;
            }
            reader.readAsDataURL(readerfile);
        } else {
            reader.onload = function () {
                console.log(reader.result);
            }
            reader.readAsText(readerfile);
        }

    }

2.file单文件判断文件大小

html代码

<input type="file" onchange="fileSize(event)">

js代码

function fileSize(){
     let readerfile = e.currentTarget.files[0];
        console.log(readerfile);
        if (readerfile.size == 0) {
            return '0B'
        } else if (!readerfile.size) {
            return '-'
        }
        let fileSizeByte = readerfile.size;
        let fileSizeMsg = "";
        if (fileSizeByte > 0 && fileSizeByte < 1024) {
            fileSizeMsg = fileSizeByte + 'B';
        } else if (fileSizeByte == 1024) {
            fileSizeMsg = "1KB";
        } else if (fileSizeByte > 1024 && fileSizeByte < 1048576) {
            fileSizeMsg = (fileSizeByte / 1024).toFixed(2) + "KB";
        } else if (fileSizeByte == 1048576) {
            fileSizeMsg = "1MB";
        } else if (fileSizeByte > 1048576 && fileSizeByte < 1073741824) {
            fileSizeMsg = (fileSizeByte / (1024 * 1024)).toFixed(2) + "MB";
        } else if (fileSizeByte > 1048576 && fileSizeByte == 1073741824) {
            fileSizeMsg = "1GB";
        } else if (fileSizeByte > 1073741824 && fileSizeByte < 1099511627776) {
            fileSizeMsg = (fileSizeByte / (1024 * 1024 * 1024)).toFixed(2) + "GB";
        } else {
            fileSizeMsg = "文件超过1TB";
        }
        console.log(fileSizeMsg);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.软件测试级别? 单元测试:单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是...
    听闻白依阅读 1,647评论 0 9
  • 之前写过一篇浏览器事件的相关操作和事件运行的原理——JavaScript浏览器事件解析。这一篇主要写一些常用的事件...
    faremax阅读 1,734评论 0 0
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 130,269评论 2 7
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 8,576评论 0 4

友情链接更多精彩内容