Skip to content

Commit 7555d45

Browse files
wooormTrott
andcommitted
Fix email labels with final digits
Related to micromark/micromark-extension-gfm-autolink-literal#7. Related to remarkjs/remark#862. Closes GH-5. Co-authored-by: Rich Trott <rtrott@gmail.com>
1 parent e38f737 commit 7555d45

File tree

3 files changed

+122
-2
lines changed

3 files changed

+122
-2
lines changed

index.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,12 @@ function findUrl(_, protocol, domain, path, match) {
153153
* @param {RegExpMatchObject} match
154154
*/
155155
function findEmail(_, atext, label, match) {
156-
// Not an expected previous character.
157-
if (!previous(match, true) || /[_-]$/.test(label)) {
156+
if (
157+
// Not an expected previous character.
158+
!previous(match, true) ||
159+
// Label ends in not allowed character.
160+
/[_-\d]$/.test(label)
161+
) {
158162
return false
159163
}
160164

test/email-tld-digits.html

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<p>a@0.0</p>
2+
<p><a href="mailto:a@0.b">a@0.b</a></p>
3+
<p>a@a.29</p>
4+
<p><a href="mailto:a@a.b">a@a.b</a></p>
5+
<p><a href="mailto:a@0.0.c">a@0.0.c</a></p>
6+
<p>react@0.11.1</p>
7+
<p>react@0.12.0-rc1</p>
8+
<p>react@0.14.0-alpha1</p>
9+
<p>react@16.7.0-alpha.2</p>
10+
<p>react@0.0.0-experimental-aae83a4b9</p>
11+
<p>[ react@0.11.1</p>
12+
<p>[ react@0.12.0-rc1</p>
13+
<p>[ react@0.14.0-alpha1</p>
14+
<p>[ react@16.7.0-alpha.2</p>
15+
<p>[ react@0.0.0-experimental-aae83a4b9</p>
16+
<hr>
17+
<p>react@a</p>
18+
<p>react@1</p>
19+
<p><a href="mailto:react@1.a">react@1.a</a></p>
20+
<p>react@1.1</p>
21+
<p><a href="mailto:react@1.a-b">react@1.a-b</a></p>
22+
<p><a href="mailto:react@1.a1b">react@1.a1b</a></p>
23+
<p><a href="mailto:react@1.1-b">react@1.1-b</a></p>
24+
<p><a href="mailto:react@1.1-alpha">react@1.1-alpha</a></p>
25+
<p>react@1.1-alpha1</p>
26+
<p><a href="mailto:react@1.1-a">react@1.1-a</a></p>
27+
<p>react@1.a-1</p>
28+
<hr>
29+
<p>[ react@a</p>
30+
<p>[ react@1</p>
31+
<p>[ <a href="mailto:react@1.a">react@1.a</a></p>
32+
<p>[ react@1.1</p>
33+
<p>[ <a href="mailto:react@1.a-b">react@1.a-b</a></p>
34+
<p>[ <a href="mailto:react@1.a1b">react@1.a1b</a></p>
35+
<p>[ <a href="mailto:react@1.1-b">react@1.1-b</a></p>
36+
<p>[ <a href="mailto:react@1.1-alpha">react@1.1-alpha</a></p>
37+
<p>[ react@1.1-alpha1</p>
38+
<p>[ <a href="mailto:react@1.1-a">react@1.1-a</a></p>
39+
<p>[ react@1.a-1</p>

test/email-tld-digits.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
a@0.0
2+
3+
a@0.b
4+
5+
a@a.29
6+
7+
a@a.b
8+
9+
a@0.0.c
10+
11+
react@0.11.1
12+
13+
react@0.12.0-rc1
14+
15+
react@0.14.0-alpha1
16+
17+
react@16.7.0-alpha.2
18+
19+
react@0.0.0-experimental-aae83a4b9
20+
21+
[ react@0.11.1
22+
23+
[ react@0.12.0-rc1
24+
25+
[ react@0.14.0-alpha1
26+
27+
[ react@16.7.0-alpha.2
28+
29+
[ react@0.0.0-experimental-aae83a4b9
30+
31+
---
32+
33+
react@a
34+
35+
react@1
36+
37+
react@1.a
38+
39+
react@1.1
40+
41+
react@1.a-b
42+
43+
react@1.a1b
44+
45+
react@1.1-b
46+
47+
react@1.1-alpha
48+
49+
react@1.1-alpha1
50+
51+
react@1.1-a
52+
53+
react@1.a-1
54+
55+
---
56+
57+
[ react@a
58+
59+
[ react@1
60+
61+
[ react@1.a
62+
63+
[ react@1.1
64+
65+
[ react@1.a-b
66+
67+
[ react@1.a1b
68+
69+
[ react@1.1-b
70+
71+
[ react@1.1-alpha
72+
73+
[ react@1.1-alpha1
74+
75+
[ react@1.1-a
76+
77+
[ react@1.a-1

0 commit comments

Comments
 (0)