一个抽奖程序的问题。

colin1215 2011-01-17 04:47:56
<script language="javascript">

// global variables
var timer;
var flag = new Array(100);
var existingnum = new Array(100);
var clickTimes = 0;
var randnum;
var cellnum =1;
var mobile = new Array();

// set data here!!
mobile[0]=6564;
mobile[1]=6789;
mobile[2]=4598;
mobile[3]=2365;
mobile[4]=4567;
mobile[5]=1245;
mobile[6]=8785;

var num = mobile.length-1;
function getRandNum(){
document.getElementById("result").value = mobile[GetRnd(0,num)];
}
function start(){
clearInterval(timer);
timer = setInterval('change()',50);
}
function ok(){
clearInterval(timer);
}
function GetRnd(min,max){

randnum = parseInt(Math.random()*(max-min+1));
return randnum;
}
function setTimer(){
timer = setInterval("getRandNum();",10);
document.getElementById("start").disabled = true;
document.getElementById("end").disabled = false;
}
function clearTimer(){
noDupNum();
clearInterval(timer);
document.getElementById("start").disabled = false;
document.getElementById("end").disabled = true;

}function noDupNum(){
// to remove the selected mobile phone number
mobile.removeEleAt(randnum);

// to reorganize the mobile number array!!
var o = 0;
for(p=0; p<mobile.length;p++){
if(typeof mobile[p]!="undefined"){
mobile[o] = mobile[p];
o++;
}
}
num = mobile.length-1;
}
// method to remove the element in the array
Array.prototype.removeEleAt = function(dx)
{
if(isNaN(dx)||dx>this.length){return false;}
this.splice(dx,1);
}
// set mobile phone numbers to the table cell
function setValues(){
document.getElementById(cellnum).value = document.getElementById("result").value ;
cellnum++;
}
</script>
</head>
<body>
<center>
<div> </div>
<div id="main">
<div>
<h1>香港路9号2010年春节联欢晚会抽奖系统</h1>

<p>
<input id="result" type="text" size="30" style="height:130px;width:800px;border:2px solid red;font-size:120;" readonly/></p>
<p>
<input id="start" type="button" value="开始" style="border: 1px solid; border-color: #aaa 000 #000 #aaa;width:4em; background: #fc0;" onClick="setTimer()" />
<input id="end" type="button" value="停" style="border: 1px solid; border-color: #aaa 000 #000 #aaa;width:4em; background: #fc0;"onclick="clearTimer();setValues();" disabled/>
</p>
<p><strong>一等奖(10名)</strong></p>
<table width="946" height="79" border="1">
<tr>
<td><input name="text36" type="text" id="36" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text37" type="text" id="37" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text38" type="text" id="38" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text39" type="text" id="39" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text40" type="text" id="40" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
<tr>
<td><input name="text41" type="text" id="41" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text42" type="text" id="42" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text43" type="text" id="43" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text44" type="text" id="44" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text45" type="text" id="45" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
</table>
<p>二等奖(15名)</p>
<table width="951" height="88" border="1">
<tr><td><input name="text21" type="text" id="21" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text22" type="text" id="22" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text23" type="text" id="23" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text24" type="text" id="24" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text25" type="text" id="25" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
<tr>
<td><input name="text26" type="text" id="26" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text27" type="text" id="27" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text28" type="text" id="28" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text29" type="text" id="29" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text30" type="text" id="30" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
<tr>
<td><input name="text31" type="text" id="31" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text32" type="text" id="32" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text33" type="text" id="33" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text34" type="text" id="34" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text35" type="text" id="35" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
</table>
<p>三等奖(20名)</p>
<table width="961" height="102" border="1">
<tr>
<td><input name="text1" type="text" id="1" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text2" type="text" id="2" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text3" type="text" id="3" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text4" type="text" id="4" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text5" type="text" id="5" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
<tr>
<td><input name="text6" type="text" id="6" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text7" type="text" id="7" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text8" type="text" id="8" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text9" type="text" id="9" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text10" type="text" id="10" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
<tr>
<td><input name="text11" type="text" id="11" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text12" type="text" id="12" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text13" type="text" id="13" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text14" type="text" id="14" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text15" type="text" id="15" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
<tr>
<td><input name="text16" type="text" id="16" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="28" readonly/></td>
<td><input name="text17" type="text" id="17" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text18" type="text" id="18" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text19" type="text" id="19" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
<td><input name="text20" type="text" id="20" style="height:30px;width:190px;border:1px solid red;font-size:25;" size="20" readonly/></td>
</tr>
</table>
<p> </p>
<p> </p>
<p> </p>
</div>
</div>



想问下高手,这个抽奖程序里面只能填入数字。

// set data here!!
mobile[0]=6564;
mobile[1]=6789;
mobile[2]=4598;
mobile[3]=2365;
mobile[4]=4567;
mobile[5]=1245;
mobile[6]=8785;

如果填入字母或汉字,就不能运行了。需要怎么样修改一下,才能填入汉字和字母啊?

刚学js,所以。。。呵呵呵,谢谢大家了。
...全文
194 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hch126163 2011-01-18
  • 打赏
  • 举报
回复
我们公司的年会抽奖程序也是我写的!
纯js的!

可以自己设置 奖号个数,每等奖的 个数

每次摇奖,出的号码个数。限制中奖号码不能重复出现。
如果有没人领取的奖号,可以删除后,重新抽取!
hch126163 2011-01-18
  • 打赏
  • 举报
回复
mobile[0]=6564;
mobile[1]=6789;
mobile[2]=4598;
mobile[3]=2365;
mobile[4]=4567;
mobile[5]=1245;
mobile[6]=8785;

修改这些值就可以了

mobile[0]="aaa001";
mobile[1]="aaa002";
mobile[2]="aaa003";
mobile[3]="aaa004";
....


完全可以自己定义一个创建奖号的规则,循环设置奖号就可以了

要是有10000 个人参加,有10000个奖号,你这样要添加多久啊
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
你参考看看,哪个是你需要的...

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>TEST</title>
</head>
<style type="text/css">
*{font-family:verdana,arial; font-size:12px;}
</style>
<body>
只能输入数字
<input type="text" name="txt" id="txt" onKeyUp="this.value=this.value.replace(/\D/g,'');"/><br/><br/>

只能输入汉字和英文字符
<input type="text" name="txt" id="txt" onKeyUp="this.value=this.value.replace(/[^a-zA-Z\u4E00-\u9FA5]/g,'');"/><br/><br/>

只能输入数字,汉字和英文字符
<input type="text" name="txt" id="txt" onKeyUp="this.value=this.value.replace(/[^0-9a-zA-Z\u4E00-\u9FA5]/g,'');"/><br/><br/>
</body>
</html>
colin1215 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 shenzhennba 的回复:]

你想 想哪些定义一些字母和汉字呢? 是部分还是所有范围,给出你的范围...等下回来答你
[/Quote]


抽奖程序不都是需要先定义很多的项目,然后再来抽取吗?再将抽取的内容调用到input框中。目前这个程序只能定义数字,也就是说现在只能给它很多数字,让它抽取一个。

但是,现在我想定义字母或者汉字名字,让它来抽。
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
你想 想哪些定义一些字母和汉字呢? 是部分还是所有范围,给出你的范围...等下回来答你
colin1215 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 shenzhennba 的回复:]

我这里可以啊,你看看下面。。。

<input type="text" name="txt" id="txt" onKeyUp="this.value=this.value.replace(/\D/g,'');"/>

完整例子如下:

HTML code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN……
[/Quote]



兄弟,你理解错我的意思了,这个抽奖程序不是让自己在input框里面填写的。是首先自己定义一些项目,再抽出来后填入input框中,现在我的问题是,我在定义抽奖项目的时候只能定义数字,但是我想定义一些字母和汉字。

不知道我表达清楚没有,呵呵。
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
你的要求是只能输入数字吗?快点回复。。。。要下班了
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
我这里可以啊,你看看下面。。。

<input type="text" name="txt" id="txt" onKeyUp="this.value=this.value.replace(/\D/g,'');"/>

完整例子如下:


<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>TEST</title>
</head>
<style type="text/css">
*{font-family:verdana,arial; font-size:12px;}
</style>
<body>
<input type="text" name="txt" id="txt" onKeyUp="this.value=this.value.replace(/\D/g,'');"/>
</body>
</html>

hch126163 2011-01-17
  • 打赏
  • 举报
回复
timer = setInterval('change()',50);

change() 函数哪定义的呢?
colin1215 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 shenzhennba 的回复:]

引用 5 楼 colin1215 的回复:
引用 3 楼 shenzhennba 的回复:

<input type="text" onKeyUp="this.value=this.value.replace(/\\D/g,'');">
非数字0--9的字符去掉...



不行啊,我在input便签里面加上onKeyUp="this.value=this.value.repla……
[/Quote]


同样不行啊,感觉是上面的js里面的函数限定了只能是数字。
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 colin1215 的回复:]
引用 3 楼 shenzhennba 的回复:

<input type="text" onKeyUp="this.value=this.value.replace(/\\D/g,'');">
非数字0--9的字符去掉...



不行啊,我在input便签里面加上onKeyUp="this.value=this.value.replace(/\\D/g,'');"也不行啊。
[/Quote]

3L的回复多了一个 \ ,4L的是已经改过来了,你看看...
colin1215 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 shenzhennba 的回复:]

<input type="text" onKeyUp="this.value=this.value.replace(/\\D/g,'');">
非数字0--9的字符去掉...
[/Quote]


不行啊,我在input便签里面加上onKeyUp="this.value=this.value.replace(/\\D/g,'');"也不行啊。
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
对了一个 \ 改如下

<input type="text" onKeyUp="this.value=this.value.replace(/\D/g,'');">
非数字0--9的字符去掉...
shenzhenNBA 2011-01-17
  • 打赏
  • 举报
回复
<input type="text" onKeyUp="this.value=this.value.replace(/\\D/g,'');">
非数字0--9的字符去掉...
colin1215 2011-01-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yhtapmys 的回复:]

js 限制input只能输入数字
[/Quote]

它是用js控制只能输入数字的吧?那怎么改呢?
yhtapmys 2011-01-17
  • 打赏
  • 举报
回复

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧