2016-09-20 11 views
-2

マイcurrentWebsiteURL:のvar currentWebsiteURLは現在のPAGを認識しない

するvar currentWebsiteURL = window.location.protocol + '//' + window.location.hostname + window.location.pathname。あなたが影響を受けないように、あなたの正規表現が必要な場合は

g modifier: global. All matches (don't return on first match) 

i modifier: insensitive. Case insensitive match (ignores case of [a-zA-Z]) 

i、以下の修飾子にgiを追加する必要が

+0

達成したいことは何ですか?コードスニペットや何らかのシナリオを含めることができますか? –

+0

私はこの質問をd​​ownvoting正規表現がはっきりと動作する(ちょうどコンソールでそれをテストした)。あなたは結果として得られる英数字をURLにマッチさせようとしているだけで、英数字以外の文字も含まれている可能性があります。 –

答えて

1

はオプションです。

現在、コードは最初の一致を探して停止します。

ので、コードが

var s = currentWebsiteURL.match(/\w{17}/gi); 
window.alert(s); 

のようになります更新

注:

/\w{17}/gi 

それは、各チャンクは17文字の長さで、チャンクに文字列を分割することを意味します。 - /、、

/\w{0,17}/gi 

あなたの変数は、#のような他の特殊文字が含まれる場合:17文字以下の変数を取得したい場合は

は、次のような正規表現を使用する必要があります。

/[\w\+\&\@\#\/\%\?\=\~\_\|\$\!\:\,\.\;\-\&\@\#\/\%\=\~\_]{17}/gi 
+0

私はvar s = currentWebsiteURL.match(/ \ w {17}/gi)を試しました。 動作しませんでした。 –

+0

** currentWebsiteURL **変数のサンプルを教えてください。 – developer

+0

var currentWebsiteURL = window.location.protocol + "//" + window.location.hostname + "//" + window.location.pathname + "//" + window.location.href + "//" + window.location.assign; –

0

おそらく、あなたのURLは、単に17個の後件英数字が含まれていません:あなたは、あなたの正規表現では、このような

何かをそれらを含める必要があります。比較:

// Returns null 
"sssss.ssssssss.ssssss.sssss.ssss".match(/\w{17}/); 

// Returns ["sssssssssssssssss"] 
"ssssssssssssssssssssssssssss".match(/\w{17}/); 

正しいものを再評価し、正しい正規表現を作成しようとします。

+0

私が求めているこれらの文字:1dowHcSE6s0Ms0IZcEbO1zENtUJA3E2KSq。 ファイル内にあります。 私の英語はとても悪いです。 –

+0

@ Cylond'Sousa '" 1dowHcSE6s0Ms0IZcEbO1zENtUJA3E2KSq "match(/ \ w {17} /'; '' "1dowHcSE6s0Ms0IZc"] 'を返します。あなたの英語は問題ではありません。問題は、あなたの問題に関するすべての情報を提供していないということです。あなたは何をしようとしているのですか?あなたがマッチさせようとしている**正確な**文字列は何ですか? –

+0

OK、エラーが見つかりました。 TomášSato、おそらく正しいでしょう。私は解決し、答えに戻ってくる。 –

関連する問題