1
+ #include < cctype>
1
2
#include < iostream>
2
3
#include < optional>
3
4
11
12
#include " host_call.h"
12
13
#include " js/Conversions.h"
13
14
14
- bool isDigit (char character) { return character >= 48 && character <= 57 ; }
15
- bool isLowerAlpha (char character) { return character >= 97 && character <= 122 ; }
16
- bool isUpperAlpha (char character) { return character >= 65 && character <= 90 ; }
17
- bool isAlphaNumeric (char character) {
18
- if (!isDigit (character) && !isLowerAlpha (character) && !isUpperAlpha (character)) {
19
- return false ;
20
- }
21
- return true ;
22
- }
23
15
bool isDash (char character) { return character == 45 ; }
24
16
bool isDot (char character) { return character == 46 ; }
25
17
26
18
bool isNotAlphaNumericOrDash (char character) {
27
- return !isDigit (character) && !isLowerAlpha (character) && !isUpperAlpha (character) &&
28
- !isDash (character);
19
+ return !std::isalnum (character) && !isDash (character);
29
20
}
30
21
31
22
bool isNotAlphaNumericDotOrDash (char character) {
32
- return !isDigit (character) && !isLowerAlpha (character) && !isUpperAlpha (character) &&
33
- !isDash (character) && !isDot (character);
23
+ return !std::isalnum (character) && !isDash (character) && !isDot (character);
34
24
}
35
25
36
26
bool isValidHost (std::string host) {
37
27
// ValidHostRegex =
38
28
// "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])(:[0-9]+)$";
39
29
auto firstCharacter = host.front ();
40
30
// check first character is in the regex [a-zA-Z0-9]
41
- if (!isAlphaNumeric (firstCharacter)) {
31
+ if (!std::isalnum (firstCharacter)) {
42
32
return false ;
43
33
}
44
34
// split the hostname from the port
@@ -47,7 +37,7 @@ bool isValidHost(std::string host) {
47
37
48
38
auto lastCharacter = hostname.back ();
49
39
// check last character is in the regex [a-zA-Z0-9]
50
- if (!isAlphaNumeric (lastCharacter)) {
40
+ if (!std::isalnum (lastCharacter)) {
51
41
return false ;
52
42
}
53
43
@@ -58,7 +48,7 @@ bool isValidHost(std::string host) {
58
48
}
59
49
60
50
// check the character before the last . is in the regex [a-zA-Z0-9]
61
- if (!isAlphaNumeric (hostname.at (lastDot - 1 ))) {
51
+ if (!std::isalnum (hostname.at (lastDot - 1 ))) {
62
52
return false ;
63
53
}
64
54
// check all other characters before the last . are in the regex [a-zA-Z0-9\-.]
0 commit comments