@@ -12,24 +12,25 @@ function(i18n, Validator, ojvalidationError, RegExpValidator, LengthValidator, N
1212
1313 const literalForwardSlash = '[\\/]' ;
1414
15- const nameComponentRegexText = '(?:(?:[a-z0-9]+)(?:(?:[._]|__|[-]?)(?:[a-z0-9]+))*)' ;
16- const hostRegexText = '(?:(?:[a-zA-Z0-9]+|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])' +
17- '(?:(?:[.](?:[a-zA-Z0-9]+|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))+)?)' ;
15+ const compNameRegexText = '[a-z0-9]+' ;
16+ const compNameSeparatorRegexText = '(?:[.]|[_]{1,2}|[-]+)' ;
17+ const nameComponentRegexText = `${ compNameRegexText } (?:${ compNameSeparatorRegexText } ${ compNameRegexText } )*` ;
18+ const hostRegexText = '[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?(?:[.][a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?)*' ;
1819 const hostAndPortRegexText = `(?:${ hostRegexText } (?:[:][0-9]{1,5})?)` ;
1920 const tagRegexText = '[\\w][\\w.-]{0,127}' ;
2021 const digestRegexText = '[A-Za-z][A-Za-z0-9]*(?:(?:[-_+.][A-Za-z][A-Za-z0-9]*)*)[:][0-9A-Fa-f]{32,}' ;
21- const nameRegexText = `(?:(${ hostAndPortRegexText } )${ literalForwardSlash } )?${ nameComponentRegexText } ` +
22+ const nameRegexText = `(?:(?: ${ hostAndPortRegexText } )${ literalForwardSlash } )?${ nameComponentRegexText } ` +
2223 `(?:${ literalForwardSlash } ${ nameComponentRegexText } )*` ;
23- const imageReferenceRegexText = `^( ${ nameRegexText } )(?:(?:[:](${ tagRegexText } ))|(?:[@](${ digestRegexText } )))?$ ` ;
24+ const imageReferenceRegexText = `(?: ${ nameRegexText } )(?:(?:[:](?: ${ tagRegexText } ))|(?:[@](?: ${ digestRegexText } )))?` ;
2425
25- const k8sNameRegexText = '^ [a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?$ ' ;
26+ const k8sNameRegexText = '[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?' ;
2627
27- const emailAddressRegexText = '^ (?:[a-z0-9!#$%&\'*+\\/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&\'*+\\/=?^_`{|}~-]+)*|' +
28+ const emailAddressRegexText = '(?:[a-z0-9!#$%&\'*+\\/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&\'*+\\/=?^_`{|}~-]+)*|' +
2829 '"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*")@' +
2930 '(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|' +
3031 '\\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\\.){3}' +
3132 '(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:' +
32- '(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$ ' ;
33+ '(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])' ;
3334
3435 const ingressPathRegexText = '^\\/\\S*$' ;
3536
0 commit comments