你问题的标题是长整型,但你问题的描述可以是小数。<script type="text/javascript">
function ss(n){
// 如果只要判断整型,那就是:
// if(!/^[1-9][0-9]*$/.test(n)) alert("格式不对");// 下面这个正则式不能识别以0开头但后没跟着.的情况,
// 所以在后面单独为这种情况作了判断。
if(!/^0?[0-9]+(\.[0-9]*[1-9])?$/.test(n)) alert("格式不对");
if(n.substr(0,1)=="0"&&n.substr(1,1)!="0") alert("格式不对");
}
</script>
<form>
<input name="tt" onchange="ss(this.value)" />
<input type="submit" value="提交" />
</form>

解决方案 »

  1.   

    写错了,再来一次.(把第九行的!="0"改为!=".")
    <script type="text/javascript">
    function ss(n){
    // 如果只要判断整型,那就是:
    // if(!/^[1-9][0-9]*$/.test(n)) alert("格式不对");// 下面这个正则式不能识别以0开头但后没跟着.的情况,
    // 所以在后面单独为这种情况作了判断。
    if(!/^0?[0-9]+(\.[0-9]*[1-9])?$/.test(n)) alert("格式不对");
    if(n.substr(0,1)=="0"&&n.substr(1,1)!=".") alert("格式不对");
    }
    </script>
    <form>
    <input name="tt" onchange="ss(this.value)" />
    <input type="submit" value="提交" />
    </form>