@@ -12,24 +12,25 @@ function(i18n, Validator, ojvalidationError, RegExpValidator, LengthValidator, N
12
12
13
13
const literalForwardSlash = '[\\/]' ;
14
14
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])?)*' ;
18
19
const hostAndPortRegexText = `(?:${ hostRegexText } (?:[:][0-9]{1,5})?)` ;
19
20
const tagRegexText = '[\\w][\\w.-]{0,127}' ;
20
21
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 } ` +
22
23
`(?:${ literalForwardSlash } ${ nameComponentRegexText } )*` ;
23
- const imageReferenceRegexText = `^( ${ nameRegexText } )(?:(?:[:](${ tagRegexText } ))|(?:[@](${ digestRegexText } )))?$ ` ;
24
+ const imageReferenceRegexText = `(?: ${ nameRegexText } )(?:(?:[:](?: ${ tagRegexText } ))|(?:[@](?: ${ digestRegexText } )))?` ;
24
25
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])?' ;
26
27
27
- const emailAddressRegexText = '^ (?:[a-z0-9!#$%&\'*+\\/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&\'*+\\/=?^_`{|}~-]+)*|' +
28
+ const emailAddressRegexText = '(?:[a-z0-9!#$%&\'*+\\/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&\'*+\\/=?^_`{|}~-]+)*|' +
28
29
'"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*")@' +
29
30
'(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|' +
30
31
'\\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\\.){3}' +
31
32
'(?:(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])+)\\])' ;
33
34
34
35
const ingressPathRegexText = '^\\/\\S*$' ;
35
36
0 commit comments