正则表达式的数字加上小数点和数字Jquery

时间:2017-01-05 02:50:07

标签: jquery regex

$(document).on("input", "#money", function() {
  if (/^\d*(\.\d+)/g.test($(this).val())) {
    $(this).css("border", "1px solid rgba(0,0,0,.15)").removeClass("not");
  } else {
    $(this).css("border", "2px solid red").addClass("not");

  }

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="money" />

我希望有一个货币价值的正则表达式。含义一位小数点和数字。小数点和数字next应该是可选的。

可接受的值:

100
100.00

现在它不接受,如果没有小数点,它也接受多个点,如:

100.12.1

1 个答案:

答案 0 :(得分:2)

尝试使用此正则表达式^\d*(?:\.\d{2})?$,它将匹配100100.00.00,但不会匹配100.000100.00.0或{{1 }}。如果您想允许100.0,请使用100.0

  • ^\d*(?:\.\d{1,2})?$^分别匹配输入的开头和结尾。这样可以避免匹配$
  • 之类的内容
  • foo100.00bar匹配任意数量的数字
  • \d*可选择与
  • 组内的内容相匹配
  • (?:...)?匹配一个句点和一个或两个数字