]> Sergey Matveev's repositories - path-extractor.git/blobdiff - validators.go
Tests workability
[path-extractor.git] / validators.go
index bef5f6551fb36c07987424ab8006169af4d58d01..df6daf5c5a1f74750050fbd947ba495baef616b2 100644 (file)
@@ -51,13 +51,43 @@ func replaceGitPath(input string) string {
        return string(temp[1])
 }
 
+func isIp(input string) bool {
+       r := regexp.MustCompile("^[0-9]{1,3}\\.[0-9x]{1,3}\\.[0-9x]{1,3}\\.[0-9x]{1,3}$")
+       return r.Match([]byte(input))
+}
+
 func isVersion(input string) bool {
-       r := regexp.MustCompile("[0-9x]\\.[0-9x]{1,2}(\\.[0-9x]{1,3})?")
+       r := regexp.MustCompile("^v?[0-9x]{1,3}\\.[0-9x]{1,3}(\\.[0-9x]{1,3})?$")
        return r.Match([]byte(input))
 }
 
+func isSpace(input string) bool {
+       r := regexp.MustCompile("^[0-9]*\\.[0-9]+[MGK]$")
+       return r.Match([]byte(input))
+}
+
+func startsWithInvalidString(input string) bool {
+       invalidBeginnings := []string{"Error/", "Object.", "Array."}
+       for _, s := range invalidBeginnings {
+               if strings.Index(input, s) == 0 {
+                       return true
+               }
+       }
+       return false
+}
+
+func endsWithInvalidString(input string) bool {
+       invalidEndings := []string{"."}
+       for _, s := range invalidEndings {
+               if strings.LastIndex(input, s) == len(input)-len(s) {
+                       return true
+               }
+       }
+       return false
+}
+
 func containsInvalidString(input string) bool {
-       invalidStrings := []string{"(", ")", "and/or", "origin/", "{", "}", "<", ">", "$", "*"}
+       invalidStrings := []string{"//", "()", "and/or", "remotes/", "origin/", "{", "}", "<", ">", "$", "*", "this."}
        for _, s := range invalidStrings {
                if strings.Contains(input, s) {
                        return true