验证Dimension文本输入javascript

时间:2014-09-19 20:43:27

标签: javascript jquery asp.net html5

如何使用javascript验证asp文本框。 我想验证用户输入,如4-1 / 2或80-1 / 2或6/8或5。 只有允许的模式类型,并且始终包含一个数字。 我想在输入不匹配时显示警告 我是javascript的初学者。

我试过的代码。

function valid_Dimentions(fieldObj) {
 // regular expression
 var rgexp = new RegExp(""/^[0-9/-]{1,4}$/"");
 var input = fieldObj.value;
     if (input.match(rgexp))
         alert("The width field format is incorrect!");                    
}

我用它来赚钱并且工作并用它来构建我的非工作代码。

function valid_number(fieldObj) {
 if (fieldObj.value != '' && isNaN(fieldObj.value)) {
    alert('You must enter a valid price like 0.00 and no $');
    fieldObj.select();
    fieldObj.focus();
    return false;
 }
 return true;
}

...

<asp:TextBox id="TWidth" type="text" runat="server" placeholder="4-1/2" onchange="valid_Dimentions_Width(this);"  list="PartType" runat="server" required="required" Width="210px" AutoCompleteType="Disabled" AutoPostBack="True"/>

1 个答案:

答案 0 :(得分:0)

  • 避免使用alert。相反,只需使用错误消息填充一些元素。
  • 避免仅在客户端验证,也在服务器端验证。
  • 当匹配为真时,您的if正在显示错误。它应该否定它。
  • 你的正则表达式是错的,它只是检查它是否为1到4位数。
  • 您可以通过在/&#39; s
  • 之间封闭来声明正则表达式

这是我带来的正则表达式:

^([0-9]+|[0-9]+-[0-9]+\/[0-9]+|[0-9]+\/[0-9]+)$

检查您的号码是否为以下之一:

  • 纯数:[0-9]+
  • -后面跟着号码/号码的号码:[0-9]+-[0-9]+\/[0-9]+
  • 号码/号码:[0-9]+\/[0-9]+

请注意,我必须使用/来查看\,以便正确使用正则表达式定义。

这是最终的代码:

function valid_Dimensions_Width(fieldObj) {
    var error = ""
    var rgexp = /^([0-9]+|[0-9]+-[0-9]+\/[0-9]+|[0-9]+\/[0-9]+)$/;
    var input = fieldObj.value;
    if (!input.match(rgexp)) error = "The width field format is incorrect!";
    document.getElementById("TWidthError").innerHTML = error;
}

工作小提琴:http://jsfiddle.net/w3f5skp8/

我将onChange替换为onKeyUp,以便立即显示反馈。