Во-первых, вы должны признать, что браузер можно манипулировать, отправляя все, что хочет пользователь, поэтому проверка на стороне клиента не является ни необходимой, ни достаточной, а просто удобной (для пользователя).
Учитывая это, легкоприходит на ум процесс:
- Обеспечить абсолютную привязанность каждого URL-адреса, указав в начале URL-адреса спецификацию протокола.
- Обеспечить использование протокола {http, https}..
Попробуйте это:
function validateUrl(value) {
return value.match(/^(http|https):\/\//) != null;
}
if(validateUrl(inputField.value)) {
// value is acceptable
} else {
// value is not an acceptable URL
}