全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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>

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# 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小时内与您取得联系。