The code for this should not interrupt the user’s action, but should instead wait until the user leaves the form field to check the input text for “http”. So use “onblur” instead of “onkeyup”.
Then, just see if the string contains “http” using indexOf. If not, it will return -1, which is falsey.
function checkURL (abc) {
var string = abc.value;
if (!~string.indexOf("http")) {
string = "http://" + string;
}
abc.value = string;
return abc
}
<form>
<input type="url" name="someUrl" onblur="checkURL(this)" />
<input type="text"/>
</form>
Fiddle