diff --git a/urns/urns.go b/urns/urns.go index 64d4dc8..a956a02 100644 --- a/urns/urns.go +++ b/urns/urns.go @@ -78,7 +78,7 @@ func IsValidScheme(scheme string) bool { } var nonTelCharsRegex = regexp.MustCompile(`[^0-9a-z]`) -var telRegex = regexp.MustCompile(`^\+?[a-zA-Z0-9]{3,64}$`) +var telRegex = regexp.MustCompile(`^\+?[a-zA-Z0-9]{1,64}$`) var twitterHandleRegex = regexp.MustCompile(`^[a-zA-Z0-9_]{1,15}$`) var emailRegex = regexp.MustCompile(`^[^\s@]+@[^\s@]+$`) var viberRegex = regexp.MustCompile(`^[a-zA-Z0-9_=/+]{1,24}$`) diff --git a/urns/urns_test.go b/urns/urns_test.go index 0d3a303..9d0c8d5 100644 --- a/urns/urns_test.go +++ b/urns/urns_test.go @@ -206,12 +206,13 @@ func TestValidate(t *testing.T) { {"tel:+250788383383", ""}, {"tel:+250123", ""}, {"tel:1337", ""}, + {"tel:1", ""}, // one digit shortcodes are a thing {"tel:PRIZES", ""}, {"tel:cellbroadcastchannel50", ""}, // invalid tel numbers {"tel:07883 83383", "invalid tel number"}, // can't have spaces - {"tel:12", "invalid tel number"}, // too short + {"tel:", "cannot be empty"}, // need a path // twitter handles {"twitter:jimmyjo", ""}, @@ -301,7 +302,7 @@ func TestTelURNs(t *testing.T) { {"0788383383", "ZZ", "tel:0788383383", false}, {"PRIZES", "RW", "tel:prizes", false}, {"PRIZES!", "RW", "tel:prizes", false}, - {"1", "RW", "", true}, + {"1", "RW", "tel:1", false}, {"123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", "RW", "", true}, }