src に 5 つ以上の連続するゼロがあるかどうかを確認しようとしています。たとえば、http://domain.com/images/00000007.jpgは一致しますが、http ://domain.com/images/0000_1.jpg は一致しません。これは私がこれまで持っているものですが、うまくいかないようです。助言がありますか?
if (src.match(/0{5,}$/)) {
match found
}
else {
no match found
}
src に 5 つ以上の連続するゼロがあるかどうかを確認しようとしています。たとえば、http://domain.com/images/00000007.jpgは一致しますが、http ://domain.com/images/0000_1.jpg は一致しません。これは私がこれまで持っているものですが、うまくいかないようです。助言がありますか?
if (src.match(/0{5,}$/)) {
match found
}
else {
no match found
}
文字列の先頭からゼロに一致する必要^
があります。つまり、
if (/^0{5,}/.test(src)) { ... }
文字列の任意の場所で 5 つの連続するゼロに一致させる必要がある場合は、任意の^
またはを省略します$
。
更新:あなたの場合、次のようなものを使用できますif (/\/0{5,}/.test(src)) { ... }
。
別の方法として、次のようにindexOf()を使用することもできます。
if(src.indexOf('00000') > -1){
alert('matchFound');
} else {
alert('no match found');
}
これを試着してサイズを確認してください:
/0{5,}[^\/]*$/
ゼロが 5 つ以上あり、その後にスラッシュ以外が文字列の末尾に続いているかどうかをチェックします。他の検証を行う場合は、スラッシュでパターンを開始して、ファイルが 5 つのゼロで始まることを確認するか、最後に許容可能なファイル タイプを追加することができます。
/\/0{5,}[^\/]*\.(jpe?g|gif|png)$/i
内訳(あなたまたは将来の読者が知らない部分について):
/ Starts the regular expression
\/ A literal forward slash (escaped because '/' is a delimiter)
0{5,} Five or more zeros
[^\/]* Anything except a literal forward slash, zero or more times.
\. A literal period (unescaped periods match anything except newlines)
( start a group
jpe?g jpeg or jpg (the ? makes the 'e' match zero or 1 times)
| OR
gif gif
| OR
png png
) End group
$ Assert the end of the string.
/ End the regular expression
i Case insensitive.