2012-03-29 88 views
0

我想在重複時爲img標記驗證文本區域。例如,如果我用src輸入圖像標籤,我應該再次輸入帶有標籤的同一個源代碼,我需要顯示警報如何完成。我的代碼片斷檢查圖像是否存在。但我需要做以上驗證也...JavaScript中用於HTML圖像標記的文本區域驗證

function validateEditor() { 

    var editor_val = $('#asset_html').val(), iSrc; 

    // Check for empty string 
    if(!string_IsEmpty(editor_val)) { 

     // Check whether img is available 
     if(editor_val.match(/img/g)) { 

      var src_cnt = (editor_val.match(/img/g).length); 
      //console.log(editor_val.match(/src/g).length); 

      $('#asset_html_preview').html(editor_val); 

      for(var j = 1; j <= src_cnt; j++) { 

       if($('#asset_html_preview img:nth-child(1)').attr('src')) { 

        iSrc = $('#asset_html_preview img:nth-child(1)').attr('src'); 

        if(iSrc.indexOf('http://') != -1) { 

         $('#asset_html_preview img:nth-child(' + j + ')') 
          .error(function() { alert('Check ur image src'); }); 
         //break; 

        } 
       } 
      } 
     }  
    } 
} 
+0

你試試PLZ說明了什麼? – 2012-03-29 11:06:48

+0

@ Shreekhanal編輯plz檢查 – user1051599 2012-03-29 11:10:52

回答

1

你可能會尋找這樣的:

var arr = {}; 
var $div = $('<div />').html($('textarea').val()); 
$div.find('img').each(function (i) { 
     var src = $(this).attr('src'); 

     if (src.indexOf('http://') >= 0 && arr[src] == undefined) { 
      arr[src] = 'foobar'; 
     } else if (arr[src] !== undefined) { 
      alert('This url `' + src + '` already exists');  
     } else { 
      alert('This url `' + src + '` is wrong');  
     } 
}); 

演示:http://jsfiddle.net/LXgWU/3/

+0

@codefOrmer它只驗證img標籤......但我需要驗證,如果兩個img標籤輸入相同源名稱應該給出一個警告 – user1051599 2012-03-29 11:37:57

+0

也可以完成。在添加到數組之前,您應該將圖像url放入js數組中並檢查它是否存在(顯示錯誤消息)。 – codef0rmer 2012-03-29 11:58:20

+0

Plz發佈一個示例以遵循... – user1051599 2012-03-29 12:03:20

0

假設您的var src_cnt工作完美。

var src_cnt = (editor_val.match(/img/g).length); 
if(src_cnt == 1) 
{ 
alert("Plz choose Unique Image"); 
return false; 
} 
+0

可以編輯我的代碼片段我試過沒有警報即將到來...... – user1051599 2012-03-29 11:29:36