1

我正在编写验证货币价值的代码

       function monyValid()
       {

       var valw=document.getElementById("<%=txtID4.ClientID%>").value;
       var regex  = /(?:^\d{1,3}(?:\.?\d{2})*(?:,\d{2})?$)|(?:^\d{1,3}(?:,?\d{3})*(?:\.\d{2})?$)/            
       if (!isNaN(valw) && isFinite(valw)) 
       {
         document.getElementById("<%=txtID4.ClientID%>").value=parseFloat(valw).toFixed(2);
       }           
         if (regex.test(valw))
         {          
           alert("valid");
         }
         else
         {
           alert("Number is invalid");
         }
       }

现在我想对多个文本框应用相同的验证。如何对不同的文本框使用相同的功能。我想要类似的东西

      function monyValid(txtVal)
       {           
       var valw=document.getElementById(txtVal).value;
       }

我怎样才能实现这个功能。

4

1 回答 1

1

传入this并将其用作函数中的参数,而不是调用document.getElementById.

JavaScript

function monyValid(item) {
    var valw = item.value;
    var regex = /(?:^\d{1,3}(?:\.?\d{2})*(?:,\d{2})?$)|(?:^\d{1,3}(?:,?\d{3})*(?:\.\d{2})?$)/
    if (!isNaN(valw) && isFinite(valw)) {
        item.value = parseFloat(valw).toFixed(2);
    }
    if (regex.test(valw)) {
        alert("valid");
    } else {
        alert("Number is invalid");
    }
}

HTML 用法

<asp:TextBox ID="txtID4" runat="server" onFocus="onEnter(this)" onblur="onLeave(this);monyValid(this);" TabIndex="4"></asp:TextBox>
于 2013-03-29T08:50:53.410 回答