2017-07-27 17 views
-3

内の文字列の間のテキストパターンを取得しますこれがためになるよう、2017までのHTMLテキスト私はFRM 2000のように年を抽出しようとしている。このことからジャバスクリプト

<select name="ctl00$ContentPlaceHolder1$ddlyear" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ContentPlaceHolder1$ddlyear\',\'\')', 0)" id="ctl00_ContentPlaceHolder1_ddlyear" class="page-heading" style="background-color: rgb(255, 244, 244); width: 95px; outline: 1px solid blue;"> 
 
<option selected="selected" value="Select Year">Select Year</option> <option value="2000">2000</option>  
 
<option value="2001">2001</option>  
 
<option value="2002">2002</option>  
 
<option value="2003">2003</option>  
 
<option value="2004">2004</option>  
 
<option value="2005">2005</option>  
 
<option value="2006">2006</option>  
 
<option value="2007">2007</option>  
 
<option value="2008">2008</option>  
 
<option value="2009">2009</option>  
 
<option value="2010">2010</option>  
 
<option value="2011">2011</option>  
 
<option value="2012">2012</option>  
 
<option value="2013">2013</option>  
 
<option value="2014">2014</option>  
 
<option value="2015">2015</option>  
 
<option value="2016">2016</option>  
 
<option value="2017">2017</option>  
 
</select>

ですこれは文字列と文字列の間の正規表現のパターンマッチを最初に行いますが、正規表現は間違っています。

var regex = /<option selected(.*)</option>/; 
var newtext = \"{{text}}\".replace(regex,'') 

年を得るための最初のステップは、それ自体が失敗に終わっています。 どこが間違っていますか? すべてのヘルプはそれはプレーンなHTMLをいじりより直接select要素を照会し、そのoption値をつかんによって方法がより簡単ですずっとappreciated.Thanks

+1

あなたのhtmlの書式を設定してくださいより多くの人々がこの質問を読む可能性を高めるために、適切な新しい行を付けてください。 – Amarghosh

+1

HTMLをREGEXで解析しないでください。このためにXMLパーサを使用してください。 – ikleschenkov

答えて

1

次のようになります。

var yearsArray = []; 
 

 
var options = document.getElementById('ctl00_ContentPlaceHolder1_ddlyear').options; 
 

 
// i = 1, because we don't want the option[0], which is "Select Year" 
 
for(var i = 1; i < options.length; i++) { 
 
\t yearsArray.push(options[i].value); 
 
} 
 

 
console.log(yearsArray);
<select name="ctl00$ContentPlaceHolder1$ddlyear" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ContentPlaceHolder1$ddlyear\',\'\')', 0)" id="ctl00_ContentPlaceHolder1_ddlyear" class="page-heading" style="background-color: rgb(255, 244, 244); width: 95px; outline: 1px solid blue;"> 
 
    <option selected="selected" value="Select Year">Select Year</option> 
 
    <option value="2000">2000</option> 
 
    <option value="2001">2001</option> 
 
    <option value="2002">2002</option> 
 
    <option value="2003">2003</option> 
 
    <option value="2004">2004</option> 
 
    <option value="2005">2005</option> 
 
    <option value="2006">2006</option> 
 
    <option value="2007">2007</option> 
 
    <option value="2008">2008</option> 
 
    <option value="2009">2009</option> 
 
    <option value="2010">2010</option> 
 
    <option value="2011">2011</option> 
 
    <option value="2012">2012</option> 
 
    <option value="2013">2013</option> 
 
    <option value="2014">2014</option> 
 
    <option value="2015">2015</option> 
 
    <option value="2016">2016</option> 
 
    <option value="2017">2017</option> 
 
</select>

+0

ああ、その偉大な...それは非常にうまくいった..時間と努力のためにありがとう – deepesh