在javascript中,仅接受双倍金额值的验证正则表达式不应接受word、-ve值等
在javascript中,仅接受双倍数量值的正则表达式不应接受word,-ve值在javascript中,仅接受双倍金额值的验证正则表达式不应接受word、-ve值等,javascript,validation,Javascript,Validation,在javascript中,仅接受双倍数量值的正则表达式不应接受word,-ve值 $('document').ready(function() { $(".btn").click(function() { var amount = $('#amountId').val(); if (amount <= 0) { alert("Please insert a valid Amount! ");
$('document').ready(function() {
$(".btn").click(function() {
var amount = $('#amountId').val();
if (amount <= 0) {
alert("Please insert a valid Amount! ");
return false;
}
});
$('document').ready(函数(){
$(“.btn”)。单击(函数(){
var金额=$('#amountId').val();
如果(数量你试过吗
来自MDN:
以下示例都返回3.14
您可以分几个步骤来完成,查找无效字符,然后去除空白,然后检查有效整数,然后解析它并检查值
但是,如果您想在一个正则表达式中进行尝试,可以尝试以下内容:
var pattern = /^[0-9]*(.[0-9]*)?([eE][-+][0-9]*)?$/
如果要忽略空白,则需要首先处理空白(trim
输入字符串)。如果不允许,还需要过滤掉0
下面的函数会执行一些操作,并返回一个具有解析数字的对象(使用parseFloat
,如epoch所建议),并指示其是否有效。您应该能够将其放入代码中,并对其进行调整以实现所需的功能:
function processInput(s) {
var pattern = /^[0-9]*(.[0-9]*)?([eE][-+][0-9]*)?$/
var answer = { result: 0, isValid: false };
// remove whitespace from start and end
s = s.trim();
if (s.length > 0) {
answer.isValid = pattern.test(s);
if (answer.isValid) {
answer.result = parseFloat(s);
}
// Might need a special test for 0 here
}
return answer;
}
我可能错过了一两个具体案例,但我测试了一系列可能的东西,输出:
'3' -> { result: 3, isValid: true }
'.289213123' -> { result: 0.289213123, isValid: true }
'0.2' -> { result: 0.2, isValid: true }
'3.14' -> { result: 3.14, isValid: true }
'3.14.14' -> { result: 0, isValid: false }
'-3.14' -> { result: 0, isValid: false }
'314e-2' -> { result: 3.14, isValid: true }
'0.0314E+2' -> { result: 3.14, isValid: true }
'3.14more non-digit characters' -> { result: 0, isValid: false }
'3.' -> { result: 3, isValid: true }
'' -> { result: 0, isValid: false }
请注意,有效的负数返回false,因为您说过输入中不允许使用负数。因此,这不是一般的“isNumeric”,而是针对这种情况进行了更为定制的。如果需要,您也可以删除这些内容以匹配指数语法。不,很抱歉,您没有理解我的意思,我只需要javascript中的正则表达式,它可以y双精度值作为输入,例如10.00、1234.00、123456.1234等。只允许双精度值不允许abcd,-1.00不允许,即使0.0也不允许。请发布有效和无效输入的示例。
'3' -> { result: 3, isValid: true }
'.289213123' -> { result: 0.289213123, isValid: true }
'0.2' -> { result: 0.2, isValid: true }
'3.14' -> { result: 3.14, isValid: true }
'3.14.14' -> { result: 0, isValid: false }
'-3.14' -> { result: 0, isValid: false }
'314e-2' -> { result: 3.14, isValid: true }
'0.0314E+2' -> { result: 3.14, isValid: true }
'3.14more non-digit characters' -> { result: 0, isValid: false }
'3.' -> { result: 3, isValid: true }
'' -> { result: 0, isValid: false }