-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
44 lines (40 loc) · 1.51 KB
/
Copy pathscript.js
File metadata and controls
44 lines (40 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*Regular Express Url Validator*/
function UrlValidator(url) {
var expression = /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9]\.[^\s]{2,})/;
var regex = new RegExp(expression);
var urlString = "" + url;
if (urlString.match(regex)) {
return true;
} else {
return false;
}
}
/*Run Tesseract */
function readImage(url) {
let textarea = document.getElementById('result');
Tesseract.recognize(url)
.then(function (result) {
let textarea = document.getElementById('result');
let node = document.createTextNode(result.text);
textarea.appendChild(node);
}).progress(function (progress) {
let total = (progress["progress"] * 100);
total = Math.round(total, -1);
let progressbar = document.querySelector('.progress-bar');
progressbar.setAttribute('aria-valuenow', total);
progressbar.style.width = total + "%";
progressbar.textContent = total + "%";
});
}
send.onclick = function () {
let url = document.getElementById('link').value;
if (UrlValidator(url) === true)
readImage(url);
else
console.log("Invalid Url");
}
run.onclick = function () {
let text = document.getElementById('result').value;
responsiveVoice.setDefaultVoice("US English Female");
responsiveVoice.speak(text);
}