私はコードのこの部分を持っています
<a href='project.php?id=5'>test</a>
数値の長さが異なる場合id
があり、この数値のみを抽出する必要があります。正規表現、またはそれ以上の方法で可能ですか?
編集
私の問題に合わせて、あなたが考えている解決策があると思います:
string.split('=')[2].split('\'')[0]
文字列にテキストが含まれている場合。確かに、そのテキストは常に同じパターンになります
私はコードのこの部分を持っています
<a href='project.php?id=5'>test</a>
数値の長さが異なる場合id
があり、この数値のみを抽出する必要があります。正規表現、またはそれ以上の方法で可能ですか?
編集
私の問題に合わせて、あなたが考えている解決策があると思います:
string.split('=')[2].split('\'')[0]
文字列にテキストが含まれている場合。確かに、そのテキストは常に同じパターンになります
あなたがあなたの文字列を持っているとしましょう"<a href='project.php?id=5'>test</a>"
正規表現を使用して HTML を解析すると、非常に見苦しくなります (a
より多くの属性があるとどうなるでしょうか? そこに複数のタグがあるとどうなるでしょうか?)
最もクリーンな方法は、それを新しい HTML 要素にダンプし、文字列としてではなく、DOM API に組み込まれた強力なネイティブを使用して HTML として処理することです。
var temp = document.createElement("div");
temp.innerHTML = "<a href='project.php?id=5'>test</a>";
var url = temp.firstChild.href; // now contains project.php?id=5
これで、従来のツールを使用して ID を抽出できるようになりました
var id = url.split("=")[1]; // the first thing after =.
より一般的な戦略は次のとおりです。
.firstChild
は十分でしたがgetElementsByTagName
、querySelector
便利かもしれません。DOM API に慣れていない場合は、このチュートリアルから始めることをお勧めします。これは、JavaScript でドキュメントを処理する方法であり、フロントエンド JavaScript 開発者としての成功にとって重要であることを理解しています。