萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> Shell正則表達式驗證IP地址

Shell正則表達式驗證IP地址

   這篇文章主要介紹了Shell正則表達式驗證IP地址,本文給出了多個方法,並分別給出實現代碼,需要的朋友可以參考下

  本機多個IP

  代碼如下:

  ifconfig | awk '/inet/{print $2}' | awk -F: '{print $2}'

  首先,先用這個來著

   代碼如下:

  CheckIPAddress()

  {

  echo $1 > /tmp/tmpserverip

  echo $1 |grep "^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$" > /dev/null

  if [ $? = 1 ]; then

  return 1

  else

  a=$(cut -d. -f1 /tmp/tmpserverip)

  b=$(cut -d. -f2 /tmp/tmpserverip)

  c=$(cut -d. -f3 /tmp/tmpserverip)

  d=$(cut -d. -f4 /tmp/tmpserverip)

  for loop in $a $b $c $d

  do

  if [ $loop -ge 255 ] || [ $loop -le 0 ]; then

  return 2

  fi

  done

  fi

  return 0

  }

  最初的時候,參考過下面的這些

   代碼如下:

  grep "^([01]?dd?|2[0-4]d|25[0-5]).([01]?dd?|2[0-4]d|25[0-5]).([01]?dd?|2[0-4]d|25[0-5]).([01]?dd?|2[0-4]d|25[0-5]).$"

  輸入ip,檢查其是否滿足的ip書寫規范,即不能大於255,不能有字母,和其他標點,參考網上的,自己搞了個如下,做個標記!@

   代碼如下:

  echo -n 'Enter the Server-ip:'

  read BISSip

  echo $BISSip > /tmp/tmpserverip

  echo $BISSip|grep "^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$" > /dev/null

  num=$?

  if [ $num = 1 ]

  then

  echo error ip,please enter correct

  else

  {

  a=$(cut -d. -f1 /tmp/tmpserverip)

  b=$(cut -d. -f2 /tmp/tmpserverip)

  c=$(cut -d. -f3 /tmp/tmpserverip)

  d=$(cut -d. -f4 /tmp/tmpserverip)

  {

  if [ $a -ge 255 ]||[ $a -le 0 ]

  then

  echo a:error ip

  else

  echo 1 > /tmp/jack

  fi

  }

  {

  if [ $b -ge 255 ]||[ $b -lt 0 ]

  then

  echo b:error ip

  else

  echo 1 >>/tmp/jack

  fi

  }

  { if [ $c -ge 255 ]||[ $c -lt 0 ]

  then

  echo c:error ip

  else

  echo 1 >>/tmp/jack

  fi

  }

  { if [ $d -ge 255 ]||[ $d -le 0 ]

  then

  echo d:error ip

  else

  echo 1 >> /tmp/jack

  fi

  }

copyright © 萬盛學電腦網 all rights reserved