我正在编写验证货币价值的代码
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;
}
如何实现此功能。
答案 0 :(得分: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>