记录--js读取文件并显示在页面/输入内容显示在页面(解析换行)

记录新碰到需求,用于商品图文显示

输入内容显示需要使用textarea标签,原生input不支持换行,textarea记得加属性wrap="hard"这里有详细说明

然后是js,直接贴代码var arr=inp.value.replace(/\r/g,'').split('\n');这样arr获取到的是一个数组在这里插入图片描述
然后使用循环在页面显示

for(var i in arr) {
	ppp.innerHTML += arr[i] + '<br />'
}

显示效果:
在这里插入图片描述

读取文件并显示直接贴代码:

let file = files[0];
let reader = new FileReader();
reader.onload = function(){
	var array=this.result.replace(/\r/g,'').split('\n');
	for(var l in array) {
		pp.innerHTML += array[l] + '<br />'
	}
};
reader.readAsText(file, "gb2312");

注意!要加reader.readAsText(file, "gb2312")防止中文乱码,其他类型的文件也有对应的编码
下面贴全部代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div>
        <textarea rows="3" cols="20" id="inp" wrap="hard"></textarea>
        <button onclick="an(this)">按一下</button>
        <p id="ppp"></p>
    </div>
    <div>
        <input type="file" id="file" onchange="handleFiles(this.files)">
        <p id="pp"></p>
    </div>
    <script>
        var inp=document.getElementById("inp");
        var ppp=document.getElementById("ppp");
        var objFile = document.getElementById("file");
        var pp = document.getElementById("pp");
        var s = ''
        
        function an() {
            var arr=inp.value.replace(/\r/g,'').split('\n');
            for(var i in arr) {
                ppp.innerHTML += arr[i] + '<br />'
            }
        }

        
        function handleFiles(files) {
            if(files.length){
                let file = files[0];
                let reader = new FileReader();
                console.log(file)
                reader.onload = function(){
                    // pp.innerHTML = this.result;
                    var array=this.result.replace(/\r/g,'').split('\n');
                    for(var l in array) {
                        pp.innerHTML += array[l] + '<br />'
                    }
                };
                reader.readAsText(file, "gb2312");
                // reader.readAsText(file, "utf-8");
            }
        }
    </script>
</body>
</html>
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值