这个聊天室写的特别简易,比较适合刚开始学习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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js
# 聊天室
# js实现简易聊天对话框
# javascript和jQuery实现网页实时聊天的ajax长轮询
# nodejs实现的一个简单聊天室功能分享
# 使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
# nw.js实现类似微信的聊天软件
# Vue.js仿微信聊天窗口展示组件功能
# JavaScript/jQuery、HTML、CSS 构建 Web IM 远程及时聊天通信程序
# nodejs基于WS模块实现WebSocket聊天功能的方法
# AngularJS+Node.js实现在线聊天室
# JavaScript实现简易QQ聊天界面
# 为空
# 替换成
# 先把
# 大神
# 刚开始
# 花花
# 大家多多
# 果果
# 兰兰
# 正则表达式
# center
# position
# darkcyan
# chatList
# relative
# cornflowerblue
# height
# width
# red
相关文章:
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
建站之星在线版空间:自助建站+智能模板一键生成方案
安云自助建站系统如何快速提升SEO排名?
如何快速登录WAP自助建站平台?
建站主机与虚拟主机有何区别?如何选择最优方案?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
建站之星安装后界面空白如何解决?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
c++ stringstream用法详解_c++字符串与数字转换利器
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
C#如何使用XPathNavigator高效查询XML
北京企业网站设计制作公司,北京铁路集团官方网站?
,如何利用word制作宣传手册?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
建站org新手必看:2024最新搭建流程与模板选择技巧
如何通过万网虚拟主机快速搭建网站?
公司网站设计制作厂家,怎么创建自己的一个网站?
Thinkphp 中 distinct 的用法解析
佛山网站制作系统,佛山企业变更地址网上办理步骤?
寿县云建站:智能SEO优化与多行业模板快速上线指南
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
网站制作免费,什么网站能看正片电影?
python的本地网站制作,如何创建本地站点?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
个人摄影网站制作流程,摄影爱好者都去什么网站?
如何在IIS中新建站点并解决端口绑定冲突?
建站之星ASP如何实现CMS高效搭建与安全管理?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
建站之星展会模板:智能建站与自助搭建高效解决方案
如何获取PHP WAP自助建站系统源码?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
青岛网站建设如何选择本地服务器?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
如何确认建站备案号应放置的具体位置?
Swift中swift中的switch 语句
,购物网站怎么盈利呢?
如何高效生成建站之星成品网站源码?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
兔展官网 在线制作,怎样制作微信请帖?
建站主机助手选型指南:2025年热门推荐与高效部署技巧
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
建站主机功能解析:服务器选择与快速搭建指南
如何用PHP快速搭建高效网站?分步指南
大连网站设计制作招聘信息,大连投诉网站有哪些?
如何用低价快速搭建高质量网站?
成都响应式网站开发,dw怎么把手机适应页面变成网页?
如何通过老薛主机一键快速建站?
建站之星好吗?新手能否轻松上手建站?
如何在景安服务器上快速搭建个人网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。