正则表达式判断字符串是整数还是分数

  1. 需要检查字符串是否为 1 到 99 之间的整数。因此此处最多允许 2 个字符。

或者

  1. 带斜杠的分数必须强制为 3 个字符,第二个字符处带有斜杠,并且分子 [1-8] 始终小于分母 [2-9],因此最小可能分数为 1/2。所以最大可能的分数是 8/9。有效分数包括:2/3、5/8、4/9 等。

    不能包含在内的无效分数为 3/400 8/5 6/3 0/9

正则表达式是什么?

const req = /someregex/g;

req.test(string) 是如何工作的?


白板的微信
浏览 137回答 1
1回答

噜噜哒

没有简短的正则表达式,因为没有办法说分子应该小于分母。幸运的是,您只想接受只有一位数字的分子和分母,因此您可以列出每个分子允许的分母:分子只有 8 种可能性。因此,与 1 到 99 之间的整数相结合,您将得到:^([1-9]\d?|1\/[2-9]|2\/[3-9]|3\/[4-9]|4\/[5-9]|5\/[6-9]|6\/[7-9]|7\/[89]|8\/9)$和锚点确保整个字符串应该匹配——因此潜在匹配^项$周围不允许有任何字符。尽管这可能适合您的情况,但一般来说,我认为正则表达式不是适合此情况的工具。考虑使用 JavaScript 编写验证代码。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript