随机事件、电子时钟、验证码

Dom的运用:

1、电子时钟

时间:<input id="tt" type="text">//html中建立文本框显示时间
<script>
function dianziTime(name){
    var t = new Date(),//新建一个时间
        y = t.getFullYear(),//获取年
        m = (+t.getMonth()+1) >= 10 ? +t.getMonth()+1 : "0" +(+t.getMonth()+1),
//获取月份,月份下标是(0-11),与实际日期差1
//三目运算,如果是1位数,前面加0
        d = t.getDate(),//获取日
        h = t.getHours(),//获取小时
        f = t.getMinutes(),//获取分钟
        s = t.getSeconds();//获取秒
    var str = y+"-"+m+"-"+d+" "+h+":"+f+":"+s;//显示设置
    document.getElementById(‘tt‘).value = str;//将时间放在id="tt"中
}
</script>

注意:此时获取时间,只是当前刷新页面时的时间,是固定的,非动态的

JS获取日期当前时间日期及其他操作:

var myDate = new Date();
myDate.getYear();        //获取当前年份(2位)
myDate.getFullYear();    //获取完整的年份(4位,1970-????)
myDate.getMonth();       //获取当前月份(0-11,0代表1月)
myDate.getDate();        //获取当前日(1-31)
myDate.getDay();         //获取当前星期X(0-6,0代表星期天)
myDate.getTime();        //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours();       //获取当前小时数(0-23)
myDate.getMinutes();     //获取当前分钟数(0-59)
myDate.getSeconds();     //获取当前秒数(0-59)
myDate.getMilliseconds();    //获取当前毫秒数(0-999)
myDate.toLocaleDateString();     //获取当前日期
var mytime=myDate.toLocaleTimeString();     //获取当前时间
myDate.toLocaleString( );        //获取日期与时间

建立动态时间:利用定时器,设置每秒运行一次“dianziTime(name)” 

window.onload = function(){
    setInterval(function(){
//建立定时器,每1秒运行一次
        dianziTime();
    },1000);
}

显示结果:

2、随机事件

Math.random()方法返回大于等于 0 小于 1 的一个随机数。

随机点名:

var arr = ["温钊","高志伟","边秀通","李智伟","丁昆","张镇潇","刘庆亮","郭浩","李青","任星旭"];//新建数组
 var i = parseInt(Math.random()*10);
//Math.random()的返回值是在0-1之间的,因为有10个值,所以*10,并取整数,作为数组arr的下标
 console.log(i);
 console.log(arr[i]);

滚动抽奖:

html部分,两个按钮,及显示区域

<body>
    <button id="start">开始</button>//建立开始按钮
    <button id="end">停止</button>//建立结束按钮
    <div id="dd" style="width: 300px; height: 50px;background: red;text-align: center; line-height: 50px;">
    </div>//设置一块区域,显示名字
</body>

js部分:设置定时器,循环显示内容,当清除定时器时,显示内容为抽中内容

var divDom = null, //显示div
    startDom = null, //开始按钮
    endDom = null;//结束按钮
window.onload = function(){
    divDom = document.getElementById(‘dd‘);//找到区域
    startDom = document.getElementById(‘start‘);//找到开始按钮
    endDom = document.getElementById(‘end‘);//找到结束按钮
}

function addEvent(){
    //开始事件
    startDom.onclick = function(){
    //点击运行方法
        setDom = setInterval(function(){
//建立一个定时器,每1毫秒显示一次
            divDom.innerHTML = arr[n];
//将arr[0]中的内容赋值给div
            n++;
            if(n >= 10){
                            n = 0;
                         }
//当n=10时,运行完一边,设置n=0,再重新循环
           },1);
    }
    //结束事件
    endDom.onclick = function(){
        clearInterval(setDom);//清除定时器
    }
}                          

显示结果:

 

3、获取验证码,并验证

html部分:在输入框输入验证码,验证是否一致,验证码没有时,显示“加载中...”

验证码:<input id="yzmVal" type="text">
    <span id="yzm">加载中...</span>
    <button id="yz">验证</button>

var n = 0;//数组下标
function yzmFun(n=4){
//设置输出4个验证码
    var str = "0123456789";//建立字符串0-9
    var sjs = "";//设置输出内容
    for(var i =0;i<n;++i){
        sjs += str.substr(Math.random()*str.length,1);
//建立随机数,提取字符串内容,给sjs,共四次
    }
    document.getElementById(‘yzm‘).innerHTML= sjs;//将内容给<span>
}

str.substr(a,b);为截取字符串,a表示从下标为a的数开始,b表示截取长度。

验证:获取输入框内容,与验证码内容匹配

 var yanzDom = document.getElementById(‘yz‘);
var wbDom=document.getElementById(‘yzmVal‘);
var wbnr=wbDom.value;
yanzDom.onClick=function(){
    if(wbnr==sjs){
  alert("验证成功");
  }
    alert("验证失败");
}  

4、36个数选7 ,且数不重复

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

如果没有找到字符串,则返回-1.  

function buchong(){
    var num = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36];
    var jiguo = [];//定义数组jieguo
    for(var i =0;i<7;++i){
        var n = parseInt(Math.random()*num.length);
    //随机抽取数组num中的数
        if(jiguo.indexOf(num[n]) < 0 ){
//返回抽取数在jieguo数组的首次出现位置,没有返回-1
            jiguo.push(num[n]);
        }else{
            i--;
        }
}

indexOf() 方法用法,

stringObject.indexOf(searchvalue,fromindex)

indexOf() 方法对大小写敏感!

searchvalue为必须的,为要查找的字符串,如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。

stringObject 中的字符位置是从 0 开始的。如果要检索的字符串值没有出现,则该方法返回 -1。

fromindex该整数值为在对象内开始查找的索引。

<script type="text/javascript">

var str="Hello world!"
document.write(str.indexOf("Hello") + "<br />")//搜索"Hello"+""
document.write(str.indexOf("World") + "<br />")//搜索"World"+""
document.write(str.indexOf("world"))//搜索"World"

</script>

结果为:

0
-1
6

原文地址:https://www.cnblogs.com/dk2557/p/9217254.html

时间: 2024-10-15 07:25:37

随机事件、电子时钟、验证码的相关文章

JavaScript电子时钟+倒计时

JavaScript时间类 获取时分秒: getHours() getMinutes(); getSeconds(); 获取年月日: getFullYear(); getMonth() + 1;//获取的月份需要+1: getDate(); //日期 getDay(); //获取的是星期,0-->星期天 实例:(效果图) <!DOCTYPE html> <html lang="en"> <head> <meta charset="

PyQt5用QTimer编写电子时钟

[说明] 本文用 PyQt5 的QTimer类的两种方式实现电子时钟 [效果图] [知识点] QTimer类提供了定时器信号/槽和单触发定时器. 它在内部使用定时器事件来提供更通用的定时器. QTimer很容易使用:创建一个QTimer,使用start()来开始并且把它的timeout()连接到适当的槽.当这段时间过去了,它将会发射timeout()信号. [实现] 1.定时器信号/槽方式 1 class MyTimer(QWidget): 2 def __init__(self, parent

利用51单片机制作的电子时钟

最近研究起来了单片机,用的是国产STC98C52芯片. STC89C52是STC公司生产的一种低功耗.高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器.STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能.在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活.超有效的解决方案. 买了很长时间了可是一直在那里放着,今天重新拿出来写了一段电子时钟的C++程序,利用充电宝供

4-2电子时钟中的运算符重载

4-2 电子时钟中的运算符重载 Time Limit: 1000MS Memory limit: 65536K 题目描述 通过本题目的练习可以运算符重载的方法: 设计一个时间类Time,私有数据成员有hour(时).minute(分).second(秒): 公有成员函数有:setHour(int)设置数据成员hour的值,非法的输入默认为12:setMinue(int)设置数据成员minute的值,非法输入默认为0:setSecond(int)设置数据成员second的值,非法输入默认为0:se

基于单片机的电子时钟(有报时和定时)

我相信电工类的专业,对于单片机这个老东西是很熟悉的.下面.是我YID的一个电子时钟,包含了一个时钟的基本功能,定时和报时.(如果没有C51和单片机的基础知识可以先看看)话不多说.这来上来了: 要资料点击这里:下载地址1:下载地址2: 资料清单: (1)原件: (2) 控制流程图: (3)电路图(由于电路截图比较大,这里就不贴出来了.需要的朋友可以点击上面的下载地址下载) (4)最关键的地方来了,(电子时钟的c代码实现): #include<reg51.h> //头文件  定义单片机内部寄存器

一款纯JavaScript的圆形电子时钟

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>一款纯JavaScript的圆形电子时钟丨

Qt - 与众不同的电子时钟

Qt的电子时钟是个老掉牙的demo了,但是利用lcdNumber显示的样子非常老土(下图第一个显示效果),一看就知道是从qt帮助文档里摘出来的example,毫无新意. 美化一下系统时钟,抛开固有控件躯壳,DIY效果让人眼前一亮,要知道细节决定UI成败.这也是我一直所追求的. 思路非常简单,就是利用label或者button贴图变化显示. 一说到贴图,有人可能就会认为代码冗余,哐哐的加载图片大坨的判断和代码量……其实贴图也讲究方法,比如我实现了一个: getPngName(QChar x)来获取

美女时钟+电子时钟

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 3 <html xmlns="http://www.w3.org/1999/xhtml"> 4 <head> 5 <title>美女时钟</ti

JS的Form文本框内的电子时钟

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>JS的Form文本框内的电子时钟丨石家庄玻璃隔断厂家</TITLE> </HEAD> <body bgcolor="#ffffff" onLoad="startclock();"> <scri