js编写简单的聊天室功能
程序员文章站
2022-04-29 08:02:26
这个聊天室写的特别简易,比较适合刚开始学习js的同学借鉴,当然,写的不好,也希望诸位大神可以进行批评改正。
聊天室要求:
1.不能发空消息
2.敏感字***显示...
这个聊天室写的特别简易,比较适合刚开始学习js的同学借鉴,当然,写的不好,也希望诸位大神可以进行批评改正。
聊天室要求:
1.不能发空消息
2.敏感字***显示
3.图片替换 开心,尴尬
4.显示聊天内容和时间
5.每发一条信息,随机显示名称,先把一些名称定义到array里面
<!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> *{ box-sizing: border-box; } .left{ float: left; width: 20%; height: 650px; color: red; border: 1px solid red; border-right: 20px solid cornflowerblue; } .center{ position: relative; float: left; width: 60%; height: 650px; border: 1px solid darkcyan; } .chatlist{ width: 100%; height: 500px; overflow-y: scroll; } .bottom{ position: absolute; width: 100%; height: 150px; left: 0; bottom: 0; background: skyblue; } .bottom textarea{ width: 70%; height: 100%; font-size: 18px;; vertical-align: middle; border: 1px solid red; background: blanchedalmond; } .bottom input{ width: 80px; height: 40px; margin-left: 30px; } .right{ float: right; color: #000000; border-right: 0; border-left: 20px solid cornflowerblue; } </style> </head> <body onload="loadtime()"> <div class="left" id="left"> </div> <div class="center" id="center"> <div class="chatlist" id="chatlist"> </div> <div class="bottom"> <textarea id="content" name="content" ></textarea> <input type="button" name="send" id="send" value="点击发送" onclick="sendmessage()" /> </div> </div> <div class="left right"> <p>1.不能发空消息</p> <p>2.敏感字***显示</p> <p>3.图片替换 开心,尴尬</p> <p>4.显示聊天内容和时间</p> <p>5.每发一条信息,随机显示名称,先把一些名称定义到array里面</p> </div> </body> <script type="text/javascript"> // document.getelementbyid("chatlist").scrollheight; /* 添加敏感字替换成**---8.10 * */ function loadtime(){ var time = new date(); var hours = (time.gethours()).tostring(); if(hours.length < 2){ hours = "0" + hours; } var minutes = (time.getminutes()).tostring(); if(minutes.length < 2){ minutes = "0" + minutes; } var seconds = (time.getseconds()).tostring(); if(seconds.length < 2){ seconds = "0" + seconds; } var timereturn = hours + ":" + minutes + ":" + seconds; document.getelementbyid("left").innerhtml = timereturn; return timereturn; } setinterval("loadtime()",1000); var chatcontents = ""; var count = 0; function sendmessage(){ //通过调用randomname()函数来得到一个随机的名字 var name = randomname(); //通过调用randomcolor()函数来得到一个随机的颜色 var colorr = randomcolor(); //得到textarea中的内容 var content = document.getelementbyid("content").value; //判断输入内容是否为空 if (content == "") { alert("输入内容不能为空!!!"); return; } //通过正则表达式来获取要替换的字符串 var regexp = /藏独|*|傻逼|你大爷/g; var regexp1 = /开心/g; var regexp2 = /尴尬/g; // var imgreplace = content.replace(regexp,"高兴"); //获取开心图片路径 var path1 = '<img src="img/chui.png"/>'; //获取尴尬图片的路径 var path2 = '<img src="img/mouse.png"/>'; //敏感字替换; content = content.replace(regexp,"***"); //将开心替换成开心图片的字符串; // txtreplace(content); var imgreplace = content.replace(regexp1,path1); // alert(imgreplace); //将尴尬替换成尴尬图片的字符串; imgreplace = imgreplace.replace(regexp2,path2); // alert(imgreplace); var chatcontent = "<span>"+ name + ":" + "</span>" + " " + imgreplace; // 字符串拼接聊天记录 chatcontents =chatcontents + chatcontent + " " + loadtime() +"<br/>"; document.getelementbyid("chatlist").innerhtml = chatcontents; //点击发送后,textarea中的内容设为空 document.getelementbyid("content").value = ""; var txtcolor = document.getelementsbytagname("span")[count]; count++; //设置span的随机颜色 txtcolor.style.color = colorr; } function randomname(){ var i = parseint(math.random() * (6 - 0 + 1) + 0); var arrname = new array("果果","六六","格格","明明","小花","兰兰","花花"); return arrname[i]; } function randomcolor(){ var r = parseint(math.random() * (255 - 0 + 1) + 0).tostring(16); if(r.length < 2){ r = "0" + r; } var g = parseint(math.random() * (255 - 0 + 1) + 0).tostring(16); if(g.length < 2){ g = "0" + g; } var b = parseint(math.random() * (255 - 0 + 1) + 0).tostring(16); if(b.length < 2){ b = "0" + b; } return "#" + r + g + b; } </script> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
Node.js 实现简单的接口服务器的实例代码
-
常用简单的js代码大全(初学者看懂代码的方法)
-
js压缩工具哪个好(实测好用且简单的9款工具)
-
EpiiAdmin 开源的php交互性管理后台框架, 让复杂的交互变得更简单!Phper快速搭建交互性平台的开发框架,基于Thinkphp5.1+Adminlte3.0+Require.js。
-
textbox 在光标位置插入字符功能的js实现(兼容ie,firefox)
-
编写自定义的Django模板加载器的简单示例
-
详解Python odoo中嵌入html简单的分页功能
-
PHPMailer的主要功能特点和简单使用说明
-
Python3使用TCP编写一个简易的文件下载器功能
-
简单分析js中的this的原理