<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Input Validation of comma separated values in Operating System - HP-UX</title>
    <link>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792155#M641256</link>
    <description>Hi Patrick:&lt;BR /&gt;&lt;BR /&gt;You might use something like this:&lt;BR /&gt;&lt;BR /&gt;# cat ./mycheck&lt;BR /&gt;get_info_check ()&lt;BR /&gt;{&lt;BR /&gt;echo&lt;BR /&gt;echo "Which INFO check would you like to run?"&lt;BR /&gt;echo "The valid range is 100-999."&lt;BR /&gt;print -n "Enter INFO number : "&lt;BR /&gt;read INFO_CHK&lt;BR /&gt;#INPUT VALIDATION HERE!!!&lt;BR /&gt;if [[ "$INFO_CHK" != +([0-9]) ]]&lt;BR /&gt;  then&lt;BR /&gt;      echo&lt;BR /&gt;      echo "ERROR: You must enter a valid number!!"&lt;BR /&gt;      get_info_check&lt;BR /&gt;elif [ "$INFO_CHK" -ge 100 -a "$INFO_CHK" -le 999 ]&lt;BR /&gt;  then&lt;BR /&gt;     echo "GOOD JOB!!!"&lt;BR /&gt;else&lt;BR /&gt;     echo&lt;BR /&gt;     echo "ERROR: Valid range is 100-999!!"&lt;BR /&gt;     get_info_check&lt;BR /&gt;fi&lt;BR /&gt;} &lt;BR /&gt;&lt;BR /&gt;...run as:&lt;BR /&gt;&lt;BR /&gt;# ./mycheck 100 1000 666 123456&lt;BR /&gt;'100' is valid&lt;BR /&gt;ERROR: '1000' must be 100-999&lt;BR /&gt;'666' is valid&lt;BR /&gt;ERROR: '123456' must be 100-999&lt;BR /&gt;&lt;BR /&gt;Regards!&lt;BR /&gt;&lt;BR /&gt;...JRF...</description>
    <pubDate>Wed, 25 May 2011 18:24:17 GMT</pubDate>
    <dc:creator>James R. Ferguson</dc:creator>
    <dc:date>2011-05-25T18:24:17Z</dc:date>
    <item>
      <title>Input Validation of comma separated values</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792153#M641254</link>
      <description>&lt;!--!*#--&gt;Hello all,&lt;BR /&gt;&lt;BR /&gt;I am working on a script and have the first part solved of numerical input validation. Below the code validates that the input is a numerical value between 100 and 1000. If not, it errors out. Now I need to be able to read values separated by a comma. For example, instead of my input being let's say 105, I'd like for the input validated to be more like 105,106,500. How can I achieve this masters of scripting?&lt;BR /&gt;&lt;BR /&gt;Current code for custom function:&lt;BR /&gt;&lt;BR /&gt;get_info_check ()&lt;BR /&gt;{&lt;BR /&gt;echo&lt;BR /&gt;echo "Which INFO check would you like to run?"&lt;BR /&gt;echo "The valid range is 100-999."&lt;BR /&gt;print -n "Enter INFO number : "&lt;BR /&gt;read INFO_CHK&lt;BR /&gt;#INPUT VALIDATION HERE!!!&lt;BR /&gt;if [[ "$INFO_CHK" != +([0-9]) ]]&lt;BR /&gt;  then&lt;BR /&gt;      echo&lt;BR /&gt;      echo "ERROR: You must enter a valid number!!"&lt;BR /&gt;      get_info_check&lt;BR /&gt;elif [ "$INFO_CHK" -ge 100 -a "$INFO_CHK" -le 999 ]&lt;BR /&gt;  then&lt;BR /&gt;     echo "GOOD JOB!!!"&lt;BR /&gt;else&lt;BR /&gt;     echo&lt;BR /&gt;     echo "ERROR: Valid range is 100-999!!"&lt;BR /&gt;     get_info_check&lt;BR /&gt;fi&lt;BR /&gt;}</description>
      <pubDate>Wed, 25 May 2011 16:58:30 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792153#M641254</guid>
      <dc:creator>Patrick Ware_1</dc:creator>
      <dc:date>2011-05-25T16:58:30Z</dc:date>
    </item>
    <item>
      <title>Re: Input Validation of comma separated values</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792154#M641255</link>
      <description>&lt;!--!*#--&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;New script with changes:&lt;BR /&gt;-----------------------CUT HERE-----------&lt;BR /&gt;get_info_check ()&lt;BR /&gt;{&lt;BR /&gt;echo&lt;BR /&gt;echo "Which INFO check would you like to run?"&lt;BR /&gt;echo "The valid range is 100-999."&lt;BR /&gt;print -n "Enter INFO number : "&lt;BR /&gt;read INFO_CHK&lt;BR /&gt;echo $INFO_CHK | awk -v FS=',' '{&lt;BR /&gt;        split($0,mystring,",")&lt;BR /&gt;        for ( i=1;i&amp;lt;=NF;i++ ) {&lt;BR /&gt;                print mystring[i];&lt;BR /&gt;        }&lt;BR /&gt;}' | while read INPUT;do&lt;BR /&gt;        #INPUT VALIDATION HERE!!!&lt;BR /&gt;        if [[ "$INPUT" != +([0-9]) ]]&lt;BR /&gt;          then&lt;BR /&gt;             echo "input: ${INPUT}: not valid number"&lt;BR /&gt;        elif [ "$INPUT" -ge 100 -a "$INPUT" -le 999 ]&lt;BR /&gt;          then&lt;BR /&gt;             echo "input: ${INPUT}: GOOD JOB!!!"&lt;BR /&gt;        else&lt;BR /&gt;             echo "input: ${INPUT}: ERROR: Valid range is 100-999!!"&lt;BR /&gt;             echo&lt;BR /&gt;        fi&lt;BR /&gt;done&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;get_info_check&lt;BR /&gt;&lt;BR /&gt;-----------------CUT HERE--------------&lt;BR /&gt;&lt;BR /&gt;Example run:&lt;BR /&gt;Which INFO check would you like to run?&lt;BR /&gt;The valid range is 100-999.&lt;BR /&gt;Enter INFO number : 100,kbe,200,kb,300,400,600&lt;BR /&gt;input: 100: GOOD JOB!!!&lt;BR /&gt;input: kbe: not valid number&lt;BR /&gt;input: 200: GOOD JOB!!!&lt;BR /&gt;input: kb: not valid number&lt;BR /&gt;input: 300: GOOD JOB!!!&lt;BR /&gt;input: 400: GOOD JOB!!!&lt;BR /&gt;input: 600: GOOD JOB!!!&lt;BR /&gt;&lt;BR /&gt;This will take any number of comma separated entries.  It will choke on null entries, leading or trailing comma.&lt;BR /&gt;&lt;BR /&gt;Hth,&lt;BR /&gt;&lt;BR /&gt;-klb&lt;BR /&gt;</description>
      <pubDate>Wed, 25 May 2011 18:07:13 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792154#M641255</guid>
      <dc:creator>klb</dc:creator>
      <dc:date>2011-05-25T18:07:13Z</dc:date>
    </item>
    <item>
      <title>Re: Input Validation of comma separated values</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792155#M641256</link>
      <description>Hi Patrick:&lt;BR /&gt;&lt;BR /&gt;You might use something like this:&lt;BR /&gt;&lt;BR /&gt;# cat ./mycheck&lt;BR /&gt;get_info_check ()&lt;BR /&gt;{&lt;BR /&gt;echo&lt;BR /&gt;echo "Which INFO check would you like to run?"&lt;BR /&gt;echo "The valid range is 100-999."&lt;BR /&gt;print -n "Enter INFO number : "&lt;BR /&gt;read INFO_CHK&lt;BR /&gt;#INPUT VALIDATION HERE!!!&lt;BR /&gt;if [[ "$INFO_CHK" != +([0-9]) ]]&lt;BR /&gt;  then&lt;BR /&gt;      echo&lt;BR /&gt;      echo "ERROR: You must enter a valid number!!"&lt;BR /&gt;      get_info_check&lt;BR /&gt;elif [ "$INFO_CHK" -ge 100 -a "$INFO_CHK" -le 999 ]&lt;BR /&gt;  then&lt;BR /&gt;     echo "GOOD JOB!!!"&lt;BR /&gt;else&lt;BR /&gt;     echo&lt;BR /&gt;     echo "ERROR: Valid range is 100-999!!"&lt;BR /&gt;     get_info_check&lt;BR /&gt;fi&lt;BR /&gt;} &lt;BR /&gt;&lt;BR /&gt;...run as:&lt;BR /&gt;&lt;BR /&gt;# ./mycheck 100 1000 666 123456&lt;BR /&gt;'100' is valid&lt;BR /&gt;ERROR: '1000' must be 100-999&lt;BR /&gt;'666' is valid&lt;BR /&gt;ERROR: '123456' must be 100-999&lt;BR /&gt;&lt;BR /&gt;Regards!&lt;BR /&gt;&lt;BR /&gt;...JRF...</description>
      <pubDate>Wed, 25 May 2011 18:24:17 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792155#M641256</guid>
      <dc:creator>James R. Ferguson</dc:creator>
      <dc:date>2011-05-25T18:24:17Z</dc:date>
    </item>
    <item>
      <title>Re: Input Validation of comma separated values</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792156#M641257</link>
      <description>Thanks for your reply.  I guess one thing I forgot to mention above is that I only want the input line, because it will be passed off to another script to decide what to do with the input.  For example, I want it to echo "GOOD JOB!!!' only when the criteria are met, and error out if any of the comma separated fields are not valid.</description>
      <pubDate>Wed, 25 May 2011 18:24:55 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792156#M641257</guid>
      <dc:creator>Patrick Ware_1</dc:creator>
      <dc:date>2011-05-25T18:24:55Z</dc:date>
    </item>
    <item>
      <title>Re: Input Validation of comma separated values</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792157#M641258</link>
      <description>Thank you for that reply.  I want to validate the input as numbers between 99 and 1000, and keep the input such as 105,106,500 in that format, so it can be passed off as an option to another script.  Is this possible?</description>
      <pubDate>Wed, 25 May 2011 18:53:42 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792157#M641258</guid>
      <dc:creator>Patrick Ware_1</dc:creator>
      <dc:date>2011-05-25T18:53:42Z</dc:date>
    </item>
    <item>
      <title>Re: Input Validation of comma separated values</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792158#M641259</link>
      <description>&lt;!--!*#--&gt;&lt;BR /&gt;this should do:&lt;BR /&gt;-----------------------CUT------&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;get_info_check ()&lt;BR /&gt;{&lt;BR /&gt;ERRORS=0&lt;BR /&gt;echo&lt;BR /&gt;echo "Which INFO check would you like to run?"&lt;BR /&gt;echo "The valid range is 100-999."&lt;BR /&gt;print -n "Enter INFO number : "&lt;BR /&gt;read INFO_CHK&lt;BR /&gt;echo $INFO_CHK | awk -v FS=',' '{&lt;BR /&gt;        split($0,mystring,",")&lt;BR /&gt;        for ( i=1;i&amp;lt;=NF;i++ ) {&lt;BR /&gt;                print mystring[i];&lt;BR /&gt;        }&lt;BR /&gt;}' | while read INPUT;do&lt;BR /&gt;        #INPUT VALIDATION HERE!!!&lt;BR /&gt;        if [[ "$INPUT" != +([0-9]) ]]&lt;BR /&gt;          then&lt;BR /&gt;             ERRORS=$((ERRORS+1))&lt;BR /&gt;        elif [ "$INPUT" -lt 100 -o "$INPUT" -gt 999 ]&lt;BR /&gt;          then&lt;BR /&gt;                ERRORS=$((ERRORS+1))&lt;BR /&gt;        fi&lt;BR /&gt;done&lt;BR /&gt;        if [ $ERRORS -ne 0 ];then&lt;BR /&gt;                echo "input had $ERRORS errors"&lt;BR /&gt;        else&lt;BR /&gt;                echo "GOOD JOB!!!"&lt;BR /&gt;                echo "send input to next stage: $INFO_CHK"&lt;BR /&gt;        fi&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;get_info_check&lt;BR /&gt;&lt;BR /&gt;---------------CUT&lt;BR /&gt;&lt;BR /&gt;example run:&lt;BR /&gt;1)&lt;BR /&gt;Which INFO check would you like to run?&lt;BR /&gt;The valid range is 100-999.&lt;BR /&gt;Enter INFO number : 100,200,300&lt;BR /&gt;GOOD JOB!!!&lt;BR /&gt;send input to next stage: 100,200,300&lt;BR /&gt;&lt;BR /&gt;2)&lt;BR /&gt;Which INFO check would you like to run?&lt;BR /&gt;The valid range is 100-999.&lt;BR /&gt;Enter INFO number : 100,klb,200,666,1,2,3,johndoe&lt;BR /&gt;input had 5 errors&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 25 May 2011 19:09:12 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792158#M641259</guid>
      <dc:creator>klb</dc:creator>
      <dc:date>2011-05-25T19:09:12Z</dc:date>
    </item>
    <item>
      <title>Re: Input Validation of comma separated values</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792159#M641260</link>
      <description>Hi (again) Patrick:&lt;BR /&gt;&lt;BR /&gt;My apologies!  I re-posted *your* script with *my* output!  Oops.  I *meant* to offer:&lt;BR /&gt;&lt;BR /&gt;# cat ./mycheck&lt;BR /&gt;#!/bin/sh&lt;BR /&gt;get_info_check ()&lt;BR /&gt;{&lt;BR /&gt;    typeset INFO_CHK=$1&lt;BR /&gt;    if [ $(expr "${INFO_CHK}" : '[0-9]*') -ne $(expr "${INFO_CHK}" : '.*') ]&lt;BR /&gt;        then&lt;BR /&gt;        echo "ERROR: '${INFO_CHK}' be all digits"&lt;BR /&gt;    fi&lt;BR /&gt;    if [ "$INFO_CHK" -ge 100 -a "$INFO_CHK" -le 999 ]; then&lt;BR /&gt;        echo "'${INFO_CHK}' is valid"&lt;BR /&gt;    else&lt;BR /&gt;        echo "ERROR: '${INFO_CHK}' must be 100-999"&lt;BR /&gt;    fi&lt;BR /&gt;}&lt;BR /&gt;NUMS=$(echo "$@"|sed -e 's/,/ /g')&lt;BR /&gt;for NUM in ${NUMS}&lt;BR /&gt;do&lt;BR /&gt;    get_info_check ${NUM}&lt;BR /&gt;done&lt;BR /&gt;exit 0&lt;BR /&gt;&lt;BR /&gt;...run as:&lt;BR /&gt;&lt;BR /&gt;# ./mycheck 100 1000 666 123456&lt;BR /&gt;'100' is valid&lt;BR /&gt;ERROR: '1000' must be 100-999&lt;BR /&gt;'666' is valid&lt;BR /&gt;ERROR: '123456' must be 100-999&lt;BR /&gt;&lt;BR /&gt;Regards!&lt;BR /&gt;&lt;BR /&gt;...JRF...</description>
      <pubDate>Wed, 25 May 2011 19:47:49 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792159#M641260</guid>
      <dc:creator>James R. Ferguson</dc:creator>
      <dc:date>2011-05-25T19:47:49Z</dc:date>
    </item>
    <item>
      <title>Re: Input Validation of comma separated values</title>
      <link>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792160#M641261</link>
      <description>klb,&lt;BR /&gt;&lt;BR /&gt;I meant to give you 10 points....</description>
      <pubDate>Wed, 25 May 2011 20:30:24 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-hp-ux/input-validation-of-comma-separated-values/m-p/4792160#M641261</guid>
      <dc:creator>Patrick Ware_1</dc:creator>
      <dc:date>2011-05-25T20:30:24Z</dc:date>
    </item>
  </channel>
</rss>

