2012-01-21 10 views
1

私はJavascriptを初めて使用しています。最近、urlから数値を取得し、文字列としてvarに、数字として別​​のvarを格納するために、正規表現を使用したいと考えていました。たとえば、以下のWebページ(発生ページではない)から55を取得したいと思います。varに保存したいと思います。Javascriptの正規表現(jQueryなし)?

それは私に多くの意味がありませんので、私はjQueryを使って助けることがない必要ください、私はこれを試してみましたが、それは

https://www.google.com/55.html 
    url.replace(/(\d+)(\.html)$/, function(str, p1, p2) { 
        return((Number(p1) + 1) + p2); 

が機能していません。

+0

番号を取得しようとしている場合、なぜあなたは 'replace'を呼びますか? –

+0

検索したい番号が常に最後の '/'と '.html'の間にあると言っていますか?そして、あなたは 'www.something.com/test55.html'のようなものを決して持っていませんか? – nnnnnn

+0

それは常に数字であり、番号は –

答えて

1
var numPortion = url.match(/(\d+)\.html/)[1] 

(一致を前提と、それは一致しない可能性がある場合、配列の添字を適用する前に結果を確認)

+0

+1です。わかりました、私たちは変数を同じ名前にしました。 – Joe

+0

@JoeTuskanあなたが何を言っているのか分かりません。 –

+0

ニース、私は通常、あまりにも笑うことはありません! – Joe

0

この

var a="https://www.google.com/55.html"; 
var match = a.match(/(\d+)(\.html)/); 

一致がアレイ、 一致[0で試し]スクリプトの一致する式が含まれています。 [1]は数字(第1括弧)、 などです

+0

私はこれを試した:var a = location.href; var match = a.match(/(\ d +)(\ .html)/); まだ動作していません –

+0

おそらく私の配列に良い名前を与えていないでしょう。これを試してみてください:

+0

文字列か数字かどうかは重要ですか? –

0
var url = 'http://www.google.com/55.html'; 
var yournumber = /(\d+)(\.html)$/.exec(url); 
yournumber = yournumber && yournumber[1]; // <-- shortcut for using if else