★★★★★高分求金额编辑框的,html页源码,内详.

52001314 2003-08-02 04:11:27
在我的html页上有一个编辑框.有按钮'0'-'9','.','退格'.
点击按钮后,往编辑框里输入金额.我希望能够在输入的时候,能够控制输入不能超过8位整数,小数点后面最多有两个小数.就是只能输入金额,例如12345678.00 不能输入超过一个小数点,小数点不能在最前.

本人不懂javascipt,特来请各位高手帮忙.现有html页源码如下:

*************************************************************
<body bgcolor="#000000" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" scroll=no>
<table width="800" border="0" cellspacing="0" cellpadding="0" align="center" height="600">
<tr>
<td colspan="3" height="420">
<table width="800" border="0" cellspacing="0" cellpadding="0" height="420">
<tr>
<td><!-- #BeginEditable "contents" -->
<table width="783" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<script language="javascript">
function digit(n)
{
document.all.longstring.value = document.all.longstring.value +""+n;
}

function digit_back()
{
str = document.all.longstring.value;
if(str.length>0) document.all.longstring.value = str.substr(0,str.length-1);
}
function digit_empty()
{
document.all.longstring.value="";
}
</script>
<td width="434"> <br>
<br>
<table width="357" border="0" cellspacing="0" cellpadding="0" align="center" height="164">
<tr>
<td background="../images/sub/keyboard_input2.gif">  
<input name="longstring" type="text" class="input_2" size="27">
</td>
</tr>
</table>
<br>
<br>
</td>
<td width="349" height="334">
<table width="290" border="0" cellspacing="0" cellpadding="0" align="center" height="295">
<tr>
<td background="../images/sub/keyboard.gif">
<table width="266" border="0" cellspacing="0" cellpadding="0" height="252" align="center">
<tr>
<td width="23%" height="56">
<div align="center"><a href="javascript:void(0)" onClick="digit(1)" class="button_num">1</a></div>
</td>
<td width="24%" height="56">
<div align="center" class="button_num"><a href="javascript:void(0)" onClick="digit(2)" class="button_num">2</a></div>
</td>
<td width="21%" height="56" class="button_num">
<div align="center"><a href="javascript:void(0)" onClick="digit(3)" class="button_num">3</a></div>
</td>
<td width="32%" height="56" class="button_text_s">
<div align="center"><a href="javascript:void(0)" onClick="digit_back()" class="button_text2">后退</a></div>
</td>
</tr>
<tr>
<td width="23%" class="button_num" height="70">
<div align="center"><a href="javascript:void(0)" onClick="digit(4)" class="button_num">4</a></div>
</td>
<td width="24%" class="button_num" height="70">
<div align="center"><a href="javascript:void(0)" onClick="digit(5)" class="button_num">5</a></div>
</td>
<td width="21%" class="button_num" height="70">
<div align="center"><a href="javascript:void(0)" onClick="digit(6)" class="button_num">6</a></div>
</td>
<td width="32%" height="70" class="button_text_s">
<div align="center"><a href="javascript:void(0)" onClick="digit_empty()" class="button_text2">清空</a></div>
</td>
</tr>
<tr>
<td width="23%" class="button_num" height="64">
<div align="center"><a href="javascript:void(0)" onClick="digit(7)" class="button_num">7</a></div>
</td>
<td width="24%" class="button_num" height="64">
<div align="center"><a href="javascript:void(0)" onClick="digit(8)" class="button_num">8</a></div>
</td>
<td width="21%" class="button_num" height="64">
<div align="center"><a href="javascript:void(0)" onClick="digit(9)" class="button_num">9</a></div>
</td>
<td width="32%" height="64" class="button_text_s">
<div align="center"><a href="b.htm" class="button_text2">取消</a></div>
</td>
</tr>
<tr>
<td width="23%" class="button_num">
<div align="center"><a href="javascript:void(0)" onClick="digit(0)" class="button_num">0</a></div>
</td>
<td width="24%" class="button_num">
<div align="center"><a href="javascript:void(0)" onClick="digit('.')" class="button_num">.</a></div>
</td>
<td colspan="2">
<div align="center"></div>
<div align="center" class="button_text_s"><a href="a.htm" class="button_text2">确 认</a></div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- #EndEditable --></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<!-- #EndTemplate -->
</html>

如果解决,一定给分.
...全文
32 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
52001314 2003-08-09
  • 打赏
  • 举报
回复
去看了会正则表达式,终于想起这东西是学过的~~

自己写了各种分析了.不知道全不全.
if (/^\.\d*$/.test(s))
{
sPrompt = "输入数据有误,小数点不能在最前,请重新输入";
}
if (/\d*\.(\d*\.\d*)+/.test(s))
{
sPrompt = "输入数据有误,小数点不能超过一个,请重新输入";
}
if (/^\d{1,8}\.\d{2}\d+/.test(s))
{
sPrompt = "输入数据有误,小数不能超过2位,请重新输入";
}
if (/^\d{8}\d+(\.\d*)?$/.test(s))
{
sPrompt = "输入数据不能大于100000000";
}
if (/\s/.test(s))
{
sPrompt = "您尚未输入金额,请输入再点击\"确定\"按钮";
}
if (document.all.longstring.value.length == 0)
{
sPrompt = "您尚未输入金额,请输入再点击\"确定\"按钮";
}
52001314 2003-08-07
  • 打赏
  • 举报
回复
昨天晚上去看了点javascript的书.
发现在提交的时候判断是比较方便的做法.我受vc的影响太深了:(

但我看不懂 /^\d{1,8}(\.\d{1,2})?$/这个表达式的意思.谁能帮我解释一下,或贴些表达式规则出来,不胜感激.

如果我的提示想详细些,例如

if (小数>2)
提示("小数不能超过2位");
if (整数>8)
提示("数字最大不超过99999999");
if (小数点>2)
提示("小数点格式不对");
if (第一位是小数点)
提示("小数点位置不对");

该怎么提示?

谢谢楼上各位.后天结贴.
52001314 2003-08-06
  • 打赏
  • 举报
回复
0.问题不大,经过转化为实数也是0.00

主要是判断不让输入太离谱的东西.例如.00 2.343.22之类的
fason 2003-08-03
  • 打赏
  • 举报
回复
你不在提交时判断,那我输入"0."怎么办?
52001314 2003-08-03
  • 打赏
  • 举报
回复
谢谢楼上的几位.我是希望能在点击'0' --'9','.','后退'按钮的时候判断.就是输入的时候使它不能输入错误的字符.而不是点击提交才判断.

to Meizz:能否说得详细些.我看不懂.谢谢.
aty283 2003-08-02
  • 打赏
  • 举报
回复
up
cnhxjtoa 2003-08-02
  • 打赏
  • 举报
回复
同意阿信的方案!!
fason 2003-08-02
  • 打赏
  • 举报
回复
function ok(){
var re=/^\d{1,8}(\.\d{1,2})?$/
var s=document.all.longstring.value
if(!re.test(s)){
alert('输入数据不符合')
return false
}
return true
}

<a href="a.htm" class="button_text2" onclick='return ok()'>确 认</a>
meizz 2003-08-02
  • 打赏
  • 举报
回复
<input title="输入的格式是 88888888.88"
onblur="if(value!='' && !/^(\d{1,8})(\.|)(\d{1,2})$/.test(value)){alert('你输入的格式不对!'); focus();}">

87,907

社区成员

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

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