javascript - 年龄组的正则表达式验证
问题描述
我正在寻找一个正则表达式验证器来验证 18 到 65 之间的年龄到目前为止我有这个:
^(1[90]|[2-6][0-9])$
解决方案
我不确定您为什么要使用正则表达式来检查数字范围。
下面我有一个演示,它以标准方式检查范围,大于和小于,但我也包含了一个正则表达式方式。
正则表达式方式要求您首先将数字转换为字符串,这就是toString()
位。
const numbers = [1, 20, 55, 67];
for (let num of numbers) {
if (num >= 18 && num <= 65)
console.log(`standard: ${num} is in range`)
}
for (let num of numbers) {
if (num.toString().match(/^([1][8-9]|[2-5][0-9]|[6][0-5])$/))
console.log(`regex: ${num} is in range`)
}
这是解释正则表达式如何工作的图表。
^([1][8-9]|[2-5][0-9]|[6][0-5])$
希望这会有所帮助。
推荐阅读
- awk - awk 忽略特定列中引号内的字段分隔符,然后将其移动
- eclipse - 在 Eclipse 中添加 mysql-java 依赖项时出现 maven 问题
- android - Mockito doReturn 无法按预期工作
- c# - 尝试在 iMobileDevice 中查找设备的 STORAGE SIZE 时,lockdownd_get_value() 的 KEY 是什么?
- python - 以特定格式将元组转储到 YAML 文件中
- android - 调用 notifyDataSetChanged() 时 RecyclerView 跳转到顶部
- laravel - Laravel 5.7:获取文件大小取决于每个文件夹的扩展名
- reactjs - useEffect 挂钩中的 Graphql 订阅不会访问最新状态
- roblox - Roblox Lua 脚本:OnActivate 与 OnCreate
- c - Ubuntu 在执行这个内联 asm 时完全冻结