You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash脚本如何实现严格校验用户输入为2位数字的需求?

Bash严格校验2位数字输入的调整方案

你现有规则的问题出在正则表达式的量词上:{,2}表示匹配0到2位数字,所以1位数字、空输入都会命中规则通过校验,只要修改正则的量词规则即可实现恰好2位的校验。

调整后的完整代码

#!/bin/bash
read -p "Enter Two Numbers " number
input=$number
# 正则修改为强制匹配恰好2位数字
re='^[0-9]{2}$'
if [[ $number =~ $re ]]; then
      echo "'$input'"
   else
      echo "'$input' Please Enter Two Numbers"
fi

修改说明

  • 核心改动仅为正则表达式部分:将re='^[0-9]{,2}$'改为re='^[0-9]{2}$'
  • {2}量词限定前面的数字匹配规则必须恰好生效2次,搭配开头的^和结尾的$,可以保证整个输入字符串完全符合「2位纯数字」的要求,1位数字、3位及以上数字、带非数字字符的输入都会被拦截。

内容的提问来源于stack exchange,提问作者Steve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 04:54:00