Value.match(/[^0-9|\/]/gi) 不适用于数字?
Value.match(/[^0-9|\/]/gi) is not working for numbers?
if (value.match(/[^0-9|\/]/gi)) {
super.setValue(this.value, { ...options, emitModelToViewChange: true });
return;
}
为什么这个 value.match 不起作用?
这是从教程中复制的,对于讲师来说它工作正常。
如果我在输入中输入 number 或 '/' 应该是正确的,但在我的情况下,如果-语句将永远不会被执行。
感谢您的帮助。
[^0-9]
匹配除 0-9
范围内的任何字符
// E.g.
"9".match(/[^0-9|\/]/g) // null
"9".match(/[^0-5|\/]/g) // ["9"]
在正则表达式中,^ 表示 NOT。您在 0-9 或“/”范围内放置了一个 NOT。对于字母表,您当前的正则表达式 return 为真。删除 ^ 并试试这个:
if (value.match(/[0-9|\/]/gi)) {
super.setValue(this.value, { ...options, emitModelToViewChange: true });
return;
}
对于数字或“/”,这应该 return 正确。 /[^[0-9]|/]/gi 会为 '/' 提供 true,但不会为数字提供 true.
if (value.match(/[^0-9|\/]/gi)) {
super.setValue(this.value, { ...options, emitModelToViewChange: true });
return;
}
为什么这个 value.match 不起作用?
这是从教程中复制的,对于讲师来说它工作正常。
如果我在输入中输入 number 或 '/' 应该是正确的,但在我的情况下,如果-语句将永远不会被执行。
感谢您的帮助。
[^0-9]
匹配除 0-9
// E.g.
"9".match(/[^0-9|\/]/g) // null
"9".match(/[^0-5|\/]/g) // ["9"]
在正则表达式中,^ 表示 NOT。您在 0-9 或“/”范围内放置了一个 NOT。对于字母表,您当前的正则表达式 return 为真。删除 ^ 并试试这个:
if (value.match(/[0-9|\/]/gi)) {
super.setValue(this.value, { ...options, emitModelToViewChange: true });
return;
}
对于数字或“/”,这应该 return 正确。 /[^[0-9]|/]/gi 会为 '/' 提供 true,但不会为数字提供 true.