欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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>

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