对用户输入的判断的shell实现代码

今天的案例是将 对用户输入的判断的

#!/bin/sh
# validint -- Validates integer input, allowing negative ints too.

function validint
{
 # Validate first field. Then test against min value $2 and/or
 # max value $3 if they are supplied. If they are not supplied, skip these tests.

 number="$1";   min="$2";   max="$3"

 if [ -z $number ] ; then
  echo "You didn't enter anything. Unacceptable." >&2 ; return 1
 fi

 if [ "${number%${number#?}}" = "-" ] ; then # is first char a '-' sign?
testvalue="${number#?}"   # all but first character
 else
  testvalue="$number"
 fi

 nodigits="$(echo $testvalue | sed 's/[[:digit:]]//g')"

 if [ ! -z $nodigits ] ; then
  echo "Invalid number format! Only digits, no commas, spaces, etc." >&2
  return 1
 fi

 if [ ! -z $min ] ; then
  if [ "$number" -lt "$min" ] ; then
    echo "Your value is too small: smallest acceptable value is $min" >&2
    return 1
  fi
 fi
 if [ ! -z $max ] ; then
   if [ "$number" -gt "$max" ] ; then
    echo "Your value is too big: largest acceptable value is $max" >&2
    return 1
   fi
 fi
 return 0
}

if validint "$1" "$2" "$3" ; then
 echo "That input is a valid integer value within your constraints"
fi

解析脚本:
1) number="$1"; min="$2"; max="$3" 指用户的3个输入;
2)nodigits="$(echo $testvalue | sed 's/[[:digit:]]//g')" 为后面测试用户输入的是否全为数字做准备
3)if validint "$1" "$2" "$3" ; then 注意 "$1" "$2" "$3"要加引号。
4)testvalue变量是为了过滤负数后测试输入是否全为数字的。
5)感觉想得挺周全的。

(0)

相关推荐

  • 对用户输入的判断的shell实现代码

    今天的案例是将 对用户输入的判断的 #!/bin/sh # validint -- Validates integer input, allowing negative ints too. function validint { # Validate first field. Then test against min value $2 and/or # max value $3 if they are supplied. If they are not supplied, skip these

  • Python中用户输入与while循环详情

    目录 一.用户输入 1.输入字符串 2.使用函数int()获取数值输入 3.求模运算符的应用 二.while循环 1.简单的while循环 2.通过用户输入退出while循环 3.使用标志 4.使用break退出循环 5.在循环中使用continue 三.使用while循环处理列表和字典 1.在列表之间移动元素 2.删除列表中所有的特定元素 3.使用用户输入来填充字典 前言: 本文的主要内容是介绍Python中用户输入与while循环,包括如何接收用户输入并进行处理,在程序满足一定的条件时让程序

  • vue监听用户输入和点击功能

    本文实例为大家分享了vue监听用户输入和点击的具体代码,供大家参考,具体内容如下 功能1:监听用户输入和点击,并实时显示, 功能2:点击发布,编辑页面隐藏,显示发布成功. 功能1 html代码: 使用:v-model监听,!submmited视图默认显示,注意监听option v-for="(i,index) in authors"   v-bind:value="authors[index], 监听当下用户点击的那个: <div id="add-blog&q

  • JavaScript 判断用户输入的邮箱及手机格式是否正确

    复制代码 代码如下: /* * 功能:判断用户输入的邮箱格式是否正确 * 传参:无 * 返回值:true or false */ function form_check() { var email = document.getElementById("email").value; //获取邮箱地址 //判断邮箱格式是否正确 if(!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(email)) { alert("邮箱格

  • 判断用户输入的银行卡号是否正确的方法(基于Luhn算法的格式校验)

    开发中,有时候,为了打造更好的用户体验,同时减轻服务器端的压力,需要对于一些如,手机号码,银行卡号,身份证号码进行格式校验 下面是判断银行卡号输入是否正确的代码(基于Luhn算法的格式校验): iOS代码: /** * 银行卡格式校验 * * @param cardNo 银行卡号 * * @return */ + (BOOL) checkCardNo:(NSString*) cardNo{ int oddsum = 0; //奇数求和 int evensum = 0; //偶数求和 int al

  • 使用JavaScript判断用户输入的是否为正整数(两种方法)

    在项目开发中,需要使用JavaScript验证用户输入的是否为正整数. 方法一: var type="^[0-9]*[1-9][0-9]*$"; var r=new RegExp(type); var flag=r.test(subjectHour.value); if(!flag){ alert("课时应为正整数"); subjectHour.focus(); return false; } 方法二: var type="^[0-9]*[1-9][0-9

  • js中判断用户输入的值是否为空的简单实例

    在js中判断用户输入的值是否为空,这是大家用得非常多的. 这没有什么好写的. 而我却写了. 原因只是自以为是的认为我的这些代码写得不错, 供大家参考一下. 这是摘自的我一个项目的中的用户注册页面.对于大多数人来说,这都几乎是100%经历过的.贴代码吧,这些代码都是用js写的. 不难,很容易看懂. 看的时候,只要区别两个js类就行了.前台页面代码:reguser.aspx 复制代码 代码如下: <%@ Page language="c#" Codebehind="RegU

  • Java判断用户输入月份的季节

    要求: *  根据用户输入的月份来判断该月季节 实现代码: import java.util.Scanner; /** * 要求: * 根据用户输入的月份来判断该月季节 * @author Administration * */ public class JudgeSeason { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个月份

  • java判断用户输入的是否至少含有N位小数的实例

    判断用户输入的是否至少含有N位小数. 1.当用户输入的是非数字时抛出异常,返回false. 2.当用户输入数字是,判断其数字是否至少含有N位小数,如果不含有,返回false. 3.当用户输入的数字的小数位数大于等于N时,返回true. public class ddouble { public static void main(String args[]) { String str = " .1124 "; boolean sfdouble = doubleyn(str,4); Sys

  • 验证用户输入的参数合法性的shell脚本

    今天这个例子是 用来验证用户输入的参数的合法性的,程序并不复杂,如下所示: #!/bin/sh # validAlphaNum - Ensures that input consists only of alphabetical # and numeric characters. validAlphaNum() { # Validate arg: returns 0 if all upper+lower+digits, 1 otherwise # Remove all unacceptable

随机推荐