Add function for finding urls in string
https://bugzilla.gnome.org/show_bug.cgi?id=610219
This commit is contained in:
parent
3d468c26b0
commit
6a52deec7d
@ -8,6 +8,7 @@ nobase_dist_js_DATA = \
|
|||||||
misc/gnomeSession.js \
|
misc/gnomeSession.js \
|
||||||
misc/params.js \
|
misc/params.js \
|
||||||
misc/telepathy.js \
|
misc/telepathy.js \
|
||||||
|
misc/utils.js \
|
||||||
perf/core.js \
|
perf/core.js \
|
||||||
prefs/clockPreferences.js \
|
prefs/clockPreferences.js \
|
||||||
ui/altTab.js \
|
ui/altTab.js \
|
||||||
|
19
js/misc/utils.js
Normal file
19
js/misc/utils.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||||
|
|
||||||
|
/* http://daringfireball.net/2010/07/improved_regex_for_matching_urls */
|
||||||
|
const _urlRegexp = /\b(([a-z][\w-]+:(\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)([^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'\".,<>?«»“”‘’]))/gi;
|
||||||
|
|
||||||
|
// findUrls:
|
||||||
|
// @str: string to find URLs in
|
||||||
|
//
|
||||||
|
// Searches @str for URLs and returns an array of objects with %url
|
||||||
|
// properties showing the matched URL string, and %pos properties indicating
|
||||||
|
// the position within @str where the URL was found.
|
||||||
|
//
|
||||||
|
// Return value: the list of match objects, as described above
|
||||||
|
function findUrls(str) {
|
||||||
|
let res = [], match;
|
||||||
|
while ((match = _urlRegexp.exec(str)))
|
||||||
|
res.push({ url: match[0], pos: match.index });
|
||||||
|
return res;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user