diff --git a/src/wp-admin/js/widgets/media-widgets.js b/src/wp-admin/js/widgets/media-widgets.js
index 598d94d..19af187 100644
--- a/src/wp-admin/js/widgets/media-widgets.js
+++ b/src/wp-admin/js/widgets/media-widgets.js
@@ -146,17 +146,27 @@ wp.mediaWidgets = ( function( $ ) {
 					 */
 					fetch: function() {
 						var embedLinkView = this, fetchSuccess, matches, fileExt, urlParser; // eslint-disable-line consistent-this
+						var url = embedLinkView.model.get( 'url' );
 
 						if ( embedLinkView.dfd && 'pending' === embedLinkView.dfd.state() ) {
 							embedLinkView.dfd.abort();
 						}
 
 						// Abort if the URL field was emptied out.
-						if ( ! embedLinkView.model.get( 'url' ) ) {
+						if ( ! url ) {
 							embedLinkView.setErrorNotice( '' );
 							return;
 						}
 
+						// only proceed with embed if the field contains more than 11 characters
+						// Example: http://a.io is 11 chars
+						if ( url && ( url.length < 11 || ! url.match(/(http|https):\/\/(\w+:{0,1}\w*)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%!\-\/]))?/) ) ) {
+							var embedLinkView = this; // eslint-disable-line consistent-this
+							$( '#embed-url-field' ).addClass( 'invalid' );
+							embedLinkView.setAddToWidgetButtonDisabled( true );
+							return;
+						}
+
 						fetchSuccess = function( response ) {
 							embedLinkView.renderoEmbed({
 								data: {
@@ -170,7 +180,7 @@ wp.mediaWidgets = ( function( $ ) {
 						};
 
 						urlParser = document.createElement( 'a' );
-						urlParser.href = embedLinkView.model.get( 'url' );
+						urlParser.href = url;
 						matches = urlParser.pathname.toLowerCase().match( /\.(\w+)$/ );
 						if ( matches ) {
 							fileExt = matches[1];
diff --git a/src/wp-includes/js/media-views.js b/src/wp-includes/js/media-views.js
index 29b56c6..c875ad7 100644
--- a/src/wp-includes/js/media-views.js
+++ b/src/wp-includes/js/media-views.js
@@ -4614,9 +4614,8 @@ EmbedLink = wp.media.view.Settings.extend({
 		this.$('.embed-container').hide().find('.embed-preview').empty();
 		this.$( '.setting' ).hide();
 
-		// only proceed with embed if the field contains more than 11 characters
-		// Example: http://a.io is 11 chars
-		if ( url && ( url.length < 11 || ! url.match(/^http(s)?:\/\//) ) ) {
+		// If URL is blank.
+		if ( ! url ) {
 			return;
 		}
 
