###実現したいこと
JavaScriptの正規表現で、URLを判定したいです。
■判定したいURL
https://【不明な文字】.fuga.com/color/【不明な文字】
■例えば
https://something.fuga.com/color/something
###試したこと
こちらのご説明によれば下記のハズですが出来ず、
'^https://[^/].fuga.com/color/[^/]'
こちらのご説明によれば下記のハズですがこれも出来ず、
'^https://[^/]./fuga.com/color/[^/]'
こちらのご説明によれば下記のハズですがやはり出来ず、
'^https://[^/]/./fuga.com/color/[^/]'
あとはバックスラッシュを2つ入れたりしても出来ず、
'^https://[^/]\.fuga.com/color/[^/]'
あれやこれやと探っていくうちに1時間くらい経ってしまい、teratail様を思い出しました。
皆様、どうぞ宜しくお願い致します。
###追記1
ちなみにこれはできてますので、「https://」の次の「.」だけが問題のようです。
'^https://hoge.com/[^/]'
###追記2
実際のチェックスクリプトです。3つのvar url
のうち、下のだけがなぜかerrorです。
javaScript
1// 対象のURL 2var url = 'https://hoge.com/something'; // allowでよし 3var url = 'https://hoge.com/shape#page=1'; // allowでよし 4var url = 'https://something.fuga.com/color/something'; // なぜかerror 5 6// hoge 7var hoge_array = [ 8 '^https://hoge.com/[^/]', 9 '^https://hoge.com/[^/]/shape\#page=[0-9:]', 10]; 11var hoge = new RegExp(hoge_array.join('|')); 12 13// fuga 14var fuga_array = [ 15 '^https://[^/].fuga.com/color/[^/]', 16]; 17var fuga = new RegExp(fuga_array.join('|')); 18 19// チェック 20if ( url.match(hoge) || url.match(fuga) ) { 21 console.log('allow'); 22} else { 23 console.log('error'); 24} 25 26
回答1件
あなたの回答
tips
プレビュー