我对 ice_berg16(寻梦的稻草人) 提供的正则表达式后面加了.test(str)可以基本实现我要求的判断:有浮点数报错、有字母报错、有非逗号(,)和连接号(-)报错、最后一个字符是逗号报错、有负数报错、但是单独输入一个连接数字(例如:1-5)我要求报错尚未实现(就差这个功能没实现).基本代码如下:
<script language="javascript">
function checkIsInteger(str){
if(str=="")
return true;
//if(/^(\-?)(\d+s)$/.test(str))
//if(/^\d+((,|\-)\d+)*$/.test(str))
if(/^\d+(,(\d+|(\d+\-\d+)))*$/.test(str))
return false;
else
return true;
}
function guess_num(){
if(checkIsInteger(guess.my_num.value)){
alert("请填写正确格式的数字!");
guess.my_num.focus();
return false;
}
return;
}
</script>
提交表单如下:
<table width="508" height="78" border="0" cellpadding="0" cellspacing="0" background="images/game/jp_a_09.gif">
<form action="game_game2_guess.jsp" method="post" name="guess" onSubmit="javascript:return guess_num();">
<tr><td colspan="2" height="5"></td></tr>
<tr>
<td width="72" height="24" align="center" background="images/game/game_a_09.gif">我要游戏</td>
<td width="436" height="24"> <input type="text" name="my_num" size="25">
<input type="submit" style="background-image:url(images/2_d10.gif);color:#000000;border:0;cursor:hand;width:64px;height:24px" name="sub" value="确 定"></td>
</tr>
<tr>
<td width="72" height="54"><br></td>
<td width="436" height="54"> 1次最多出100个数字,多个数用“,”隔开,连续价用“-”连接,<br>
比如您出数字1,3,5-9 代表您一共出了7个数字(1、3、5、6、7、8、9)</td>
</tr>
</form>
</table>
<script language="javascript">
function checkIsInteger(str){
if(str=="")
return true;
//if(/^(\-?)(\d+s)$/.test(str))
//if(/^\d+((,|\-)\d+)*$/.test(str))
if(/^\d+(,(\d+|(\d+\-\d+)))*$/.test(str))
return false;
else
return true;
}
function guess_num(){
if(checkIsInteger(guess.my_num.value)){
alert("请填写正确格式的数字!");
guess.my_num.focus();
return false;
}
return;
}
</script>
提交表单如下:
<table width="508" height="78" border="0" cellpadding="0" cellspacing="0" background="images/game/jp_a_09.gif">
<form action="game_game2_guess.jsp" method="post" name="guess" onSubmit="javascript:return guess_num();">
<tr><td colspan="2" height="5"></td></tr>
<tr>
<td width="72" height="24" align="center" background="images/game/game_a_09.gif">我要游戏</td>
<td width="436" height="24"> <input type="text" name="my_num" size="25">
<input type="submit" style="background-image:url(images/2_d10.gif);color:#000000;border:0;cursor:hand;width:64px;height:24px" name="sub" value="确 定"></td>
</tr>
<tr>
<td width="72" height="54"><br></td>
<td width="436" height="54"> 1次最多出100个数字,多个数用“,”隔开,连续价用“-”连接,<br>
比如您出数字1,3,5-9 代表您一共出了7个数字(1、3、5、6、7、8、9)</td>
</tr>
</form>
</table>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货