在 JavaScript 中,使用正则表达式来校验金额的常见模式如下:
const moneyRegex = /^\d+(\.\d{1,2})?$/;
上述正则表达式的含义是:
^
表示匹配字符串的开头。\d+
表示匹配至少一个数字。(\.\d{1,2})?
是一个可选的分组,\.
匹配小数点,\d{1,2}
表示匹配 1 到 2 位数字。整个分组表示小数点及后面的 1 - 2 位数字可有可无。$
表示匹配字符串的结尾。优势:
应用场景:
例如:
function validateMoney(input) {
const moneyRegex = /^\d+(\.\d{1,2})?$/;
return moneyRegex.test(input);
}
console.log(validateMoney("100")); // true
console.log(validateMoney("100.5")); // true
console.log(validateMoney("100.56")); // true
console.log(validateMoney("100.567")); // false
console.log(validateMoney("abc")); // false
如果遇到校验不准确的情况,可能是以下原因:
解决方法:
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云