javascript 数字正则表达式

1、负数和正数,并且是整数const validateNumInt = ( rule: any, value: string, callback:

1、负数和正数,并且是整数

const validateNumInt = (
  rule: any,
  value: string,
  callback: (arg0: Error | undefined) => void
) => {
  if (value) {
    if (!/^[-+]?\d+$/.test(value)) {
      callback(new Error(Message.numIntZeroPatternMsg));
    } else {
      callback(undefined);
    }
  } else {
    callback(new Error(Message.numIntZeroPatternMsg));
  }
};
2、只能输入正整数数字
function validatePositiveInteger(input) {
  var regex = /^[1-9]\d*$/;
  return regex.test(input);
}
  • ^:表示匹配行的开始。
  • [1-9]:表示匹配一个非零的数字。
  • \d*:表示匹配零个或多个数字。
  • $:表示匹配行的结束。
 3、只能输入1~24数字
// 只能输入1~24数字
        if (!x.box || !/^(?:[1-9]|1[0-9]|2[0-4])$/.test(x.box + "")) {
          // ^ 表示字符串的开始
          // (?: ... ) 表示一个非捕获型的分组
          // [1-9] 匹配 1~9 的数字
          // 1[0-9] 匹配 10~19 的数字
          // 2[0-4] 匹配 20~24 的数字
          // $ 表示字符串的结束
          colValidsMap.value["box2" + index].checkValid(true);
          result = true;
        }
4、只能输入数字且可输入一位小数
  if (value) {
    // 只能输入数字且可输入一位小数
    if (!/^\d+(\.\d)?$/.test(value)) {
      callback(new Error(commonFunc.msgFormat([1], Message.numPatternMsg)));
    } else {
      callback(undefined);
    }
  } else {
    callback(undefined);
  }
5、只能输入整数或小数位最多输入两位数字
function validateNumberWithDecimal(input) {
  var regex = /^\d+(\.\d{1,2})?$/;
  return regex.test(input);
}

console.log(validateNumberWithDecimal("123"));      // true
  • ^:表示匹配行的开始。
  • \d+:表示匹配一个或多个数字。
  • (\.\d{1,2})?:表示可选的小数部分。\.表示匹配小数点,\d{1,2}表示匹配一到两位数字。这个部分使用 ? 来表示可选,意味着可以有 0 或 1 次重复。
  • $:表示匹配行的结束。