<input title="输入的格式是 88888888.88" 
 onblur="if(value!='' && !/^(\d{1,8})(\.|)(\d{1,2})$/.test(value)){alert('你输入的格式不对!'); focus();}">

解决方案 »

  1.   

    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>
      

  2.   

    谢谢楼上的几位.我是希望能在点击'0' --'9','.','后退'按钮的时候判断.就是输入的时候使它不能输入错误的字符.而不是点击提交才判断.to Meizz:能否说得详细些.我看不懂.谢谢.
      

  3.   

    昨天晚上去看了点javascript的书.
    发现在提交的时候判断是比较方便的做法.我受vc的影响太深了:(但我看不懂 /^\d{1,8}(\.\d{1,2})?$/这个表达式的意思.谁能帮我解释一下,或贴些表达式规则出来,不胜感激.如果我的提示想详细些,例如if (小数>2)
      提示("小数不能超过2位");
    if (整数>8)
      提示("数字最大不超过99999999");
    if (小数点>2)
      提示("小数点格式不对");
    if (第一位是小数点)
      提示("小数点位置不对");该怎么提示?谢谢楼上各位.后天结贴.
      

  4.   

    去看了会正则表达式,终于想起这东西是学过的~~自己写了各种分析了.不知道全不全.
               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 = "您尚未输入金额,请输入再点击\"确定\"按钮";
      }