Skip to content

Commit 5356060

Browse files
author
Dean Karn
authored
Merge pull request #548 from JonathanWThom/jt/datauri
Improves accuracy of datauri regex
2 parents 361bf41 + bb5fd36 commit 5356060

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

regexes.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const (
3131
aSCIIRegexString = "^[\x00-\x7F]*$"
3232
printableASCIIRegexString = "^[\x20-\x7E]*$"
3333
multibyteRegexString = "[^\x00-\x7F]"
34-
dataURIRegexString = "^data:.+\\/(.+);base64$"
34+
dataURIRegexString = `^data:((?:\w+\/(?:([^;]|;[^;]).)+)?)`
3535
latitudeRegexString = "^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?)$"
3636
longitudeRegexString = "^[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$"
3737
sSNRegexString = `^[0-9]{3}[ -]?(0[1-9]|[1-9][0-9])[ -]?([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]|[0-9]{3}[1-9])$`

validator_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3435,12 +3435,15 @@ func TestDataURIValidation(t *testing.T) {
34353435
{"data:image/png;base64,12345", false},
34363436
{"", false},
34373437
{"data:text,:;base85,U3VzcGVuZGlzc2UgbGVjdHVzIGxlbw==", false},
3438+
{"data:image/jpeg;key=value;base64,UEsDBBQAAAAI", true},
3439+
{"data:image/jpeg;key=value,UEsDBBQAAAAI", true},
3440+
{"data:;base64;sdfgsdfgsdfasdfa=s,UEsDBBQAAAAI", true},
3441+
{"data:,UEsDBBQAAAAI", true},
34383442
}
34393443

34403444
validate := New()
34413445

34423446
for i, test := range tests {
3443-
34443447
errs := validate.Var(test.param, "datauri")
34453448

34463449
if test.expected {

0 commit comments

Comments
 (0)