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 次重复。$
:表示匹配行的结束。