如何正确验证数字输入字段的正整数?我使用这些规则
std::string regexPunc = "[\\p{P}]"; // matches any punctuations;
re2::RE2 re2Punc(regexPunc);
std::string sampleString = "test...test";
if (re2::RE2::PartialMatch(sampleString, re2Punc)) {
std::cout << re2Punc.numOfMatches();
}
但是得到错误的结果。我创建了一个示例,显示了我的错误行为
https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
要将文本字段修改为数字输入,我添加了 numberRules: [
v => v.length > 0 || 'This field may not be empty',
v => Number.isInteger(v) || 'The value must be an integer number',
v => v > 0 || 'The value must be greater than zero'
]
作为组件属性。
答案 0 :(得分:2)
您得到错误的结果,因为规则方法中的v
实际上是string
(是的,有趣的事实:))。
您可以:
将您的规则更改为v => Number.isInteger(Number(v)) || "The value must be an integer number",
向.number
添加v-model=...
修饰符,使其看起来像v-model.number=...
。但在那种情况下,您的第一个规则方法将不起作用,因为v
作为数字没有.length