js编写简单的聊天室功能
时间:2019-03-31
本文章向大家介绍js编写简单的聊天室功能,主要包括js编写简单的聊天室功能使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
这个聊天室写的特别简易,比较适合刚开始学习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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 动态曲线图(linechart)--Matplotlib绘制
- 分布式事务、分布式锁、分布式session
- Redis为什么变慢了?常见延迟问题定位与分析
- PyTorch Trick集锦
- client-go 之 Indexer 的理解
- 你的登录接口真的安全吗?
- Python,你真的会使用 staticmethod 和 classmethod 吗?
- GitLabCI/CD自动集成和部署到远程服务器
- istio-cni详解
- 【Pytorch 】笔记八:Tensorboard 可视化与 Hook 机制
- K近邻算法:以"同类相吸"解决分类问题!
- ROS与PCL中点云数据之间的转换
- 啊,http2还没搞明白,http3又来了?
- 掌握Linux文件权限,看这篇就够了
- 【shell脚本入门到精通】基本规范及良好的编写习惯