<tr>
    <td><span class="guanjz">年份:</span></td>
    <td colspan="3"><input type="text" id="year" name="year" oninput="value=value.replace(/[^\d]/g,'')" maxlength="4" value="${info.year}"  size="30" class="zuok"> <span class="red">*</span></td>
</tr>
function clearNoNum(obj) {
   obj.value = obj.value.replace(/[^\d.]/g, "");  //清除“数字”和“.”以外的字符
   obj.value = obj.value.replace(/^\./g, "");  //验证第一个字符是数字而不是.
   obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的.
   obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");//保证.只出现一次,而不能出现两次以上
   if("万头" == $(obj).next().html().trim() || "万箱" == $(obj).next().html().trim()){
      //只能输入四个小数
           obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d\d\d).*$/,'$1$2.$3');
   }else{
           obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d{7}).*$/, '$1$2.$3'); //只能输入6个小数
   }
}
<tr>
   <td><span class="guanjz">生猪年末存栏:</span></td>
   <td><input type="text" id=sz_nmcls name="sz_nmcls" value="${info.sz_nmcls}" oninput="clearNoNum(this)" size="18" class="zuok "> <span >万头</span><span class="red">*</span></td>
   <td><span class="guanjz">肉类产量:</span></td>
   <td><input type="text" id="rlcl" name="rlcl" value="${info.rlcl}" oninput="clearNoNum(this)" size="18" class="zuok "> <span >吨</span><span class="red">*</span></td>
</tr>