我有两个文本框(输入字段),如以下内容:
<input type="text" class="txtmin" placeholder="Minimum price">
<input type="text" class="txtmax" placeholder="Maximum price">
我正在尝试这样的方法来防止用户输入以下值:
如果用户在这两个值中没有输入任何内容,他可以继续。
如果用户将某些内容输入txtmin Textbox,但没有在TXT Max中输入任何内容,则只能验证txtmin
喜欢2,但VICE反之亦然
2和3验证以下验证:
- 如果用户除了整数号或浮点数号以外输入任何内容,则显示错误。
所以例如,当我输入:1或2.50或1.00时,这没关系...
不允许有逗号的数字。
所以我尝试了以下内容:
$(".btnGo").click(function () {
var r = new RegExp("/^[+-]?d+(.d+)?$/");
var min = $('.txtmin').val();
var max =$('.txtmax').val();
if ($('.txtSearch').val() == "") {
ShowMessage("All fields are required");
return;
} else if ($('.txtmin').val() != "") {
if (!r.test(min)) {
ShowMessage("Entry only number for minimum price!");
return;
}
}
else {
PostAndUpdate($('.txtSearch').val(), $('input[name=type]:checked').val(), $('input[name=shipping]:checked').val(), $('input[name=condition]:checked').val(), $('.txtmin').val(), $('.txtmax').val());
}
});
但是,例如,当我不离开离开txtmin值时,我会输入:
1.25&lt;&lt;&lt;
我仍然出于某种原因而遇到错误???
Entry only number for minimum price
我在这里做错了什么?
将报价从您的正时
var r = new RegExp(/^[+-]?d+(.d+)?$/);
随访:您可以声明由/.../
划定的正则划分或引号,但不能同时划分。如果使用引号,则需要遵循正常的JavaScript逃生规则并使用双重斜线。如果使用SLASH划定,则也不需要使用new RegExp
。这些都是有效和等效的。
var r = new RegExp(/^[+-]?d+(.d+)?$/);
var r = new RegExp("^[+-]?\d+(\.\d+)?$");
var r = /^[+-]?d+(.d+)?$/;
,不,这将不允许使用逗号的数字。