验证字符串参数的长度和类型

问题描述 投票:0回答:2

我有一个Jenkins验证参数,该参数将补丁号作为输入。我需要验证输入的参数是否为数字,并且长度应为8个字符。您能否为此验证字符串参数共享正则表达式,从而同时验证两者。

感谢您的帮助!

jenkins jenkins-pipeline jenkins-groovy
2个回答
1
投票

我会坚持常规。假设您的参数为VERSION_NUMBER

if ( (params.VERSION_NUMBER).length() == 8 && params.VERSION_NUMBER ==~ /[0-9]+/) {
    result = 'valid'
} else {
    result = 'Invalid'
}

或者,您可以将它们全部堆叠到单个正则表达式中,并使用/[0-9]{8}/并跳过长度检查。


0
投票

如果您的字符串参数holdign补丁程序版本存储在patchVer变量中,则>]

stage('Patch version validation')
{

  sh '''

  echo "$patchVer" | egrep -q '^[0-9]+$'

  if [ $? -eq 0 -a ${#patchVer} -eq 8 ]; then 
    echo "$patchVer is a number and of 8 digits"; 
  else 
    echo "$patchVer is not a number"; 
    exit 1
  fi
  '''
}
© www.soinside.com 2019 - 2024. All rights reserved.