diff --git a/src/index.js b/src/index.js
index a46c55b..36b267c 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,6 +1,6 @@
const re = {
http: /.*?:\/\//g,
- url: /(\s|^)((https?|ftp):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\w-\/\?\=\#\.])*/gi,
+ url: /(\s|^)((https?|ftp):\/\/)?[\da-z\d:%._\+~#=-]{2,256}\.[a-z]{2,6}\b([\da-z:%_\+.~#?&//=-]*)/gi,
image: /\.(jpe?g|png|gif)$/,
email: /(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/gi,
cloudmusic: /http:\/\/music\.163\.com\/#\/song\?id=(\d+)/i,
diff --git a/src/index.test.js b/src/index.test.js
index e762097..ce6cf3b 100644
--- a/src/index.test.js
+++ b/src/index.test.js
@@ -6,6 +6,11 @@ describe('main', () => {
const result = 'http://github.com/egoist, image http://twitter.com/shomin_sample.jpg no i@google.com'
expect(autoLink(string, {image: false, email: false})).toBe(result)
})
+ it('test ellipses in text', () => {
+ const string = 'sigh... lets github.com/egoist, image twitter.com/shomin_sample.jpg no i@google.com'
+ const result = 'sigh... lets http://github.com/egoist, image http://twitter.com/shomin_sample.jpg no i@google.com'
+ expect(autoLink(string, {image: false, email: false})).toBe(result)
+ })
it('replace only url', () => {
const string = 'http://github.com/egoist, image http://twitter.com/shomin_sample.jpg no i@google.com'
const result = 'http://github.com/egoist, image http://twitter.com/shomin_sample.jpg no i@google.com'