jQuery | 文字列の前方一致や後方一致を判別する方法
jQueryで文字列の前方一致や後方一致を判別する方法です。
判別にはJavaScriptのstartsWith()
を使って前方一致、後方一致にはendsWith()
を利用しています。
startsWith()
とendsWith()
はECMAScript 2015から追加されたメゾッドで、古いブラウザでは未対応の可能性がありますが、現行主流ブラウザではIE以外対応済みとなっています。
文字列の前方一致判別
JavaScriptのstartsWith()
関数を利用した文字列の前方一致判別の動作サンプルとサンプルコードです。
startsWith()
は対象文字列の先頭から判別文字と一致するかどうか判別して、一致すれば「true」不一致であれば「false」を返します。
startsWith()
はマルチバイト文字での前方一致判別にも対応しています。
また、第2引数を指定する事で判別する文字列の開始位置を指定可能です。
対象文字列.startsWith(判別文字列)
対象文字列.startsWith(判別文字列, 判別開始位置)
if (text.startsWith(`abc`)) {
console.log('true');
} else {
console.log('false');
}
// true
文字列の後方一致判別
文字列の後方一致判別にはJavaScriptのendsWith()
関数を利用しています。
endsWith()
は対象文字列の末尾から判別文字列と一致するかどうか判別して、一致すれば「true」不一致であれば「false」を返します。
endsWith()
はマルチバイト文字での後方一致判別にも対応しています。
対象文字列.endWith(判別文字列)
let text = `abcdefg`;
if (text.endWith(`abc`)) {
console.log('true');
} else {
console.log('false');
}
複数の判別文字を条件としたい場合、startsWith()
、endsWith()
では配列での指定はエラーとなります。
また、正規表現も利用できません。
複数の判別文字を対象にしたり、正規表現に対応するにはmatch()
やtest()
などを利用する事で対応可能になります。
複数の判別文字で前方一致判別
サンプルではmatch()
に正規表現「^」を使って前方一致、「|」で区切って複数参照を実行しています。
let text = `abcdefg`;
if (text.match(/^abc|^cde/)) {
console.log('true');
} else {
console.log('false');
}
複数の判別文字で後方一致判別
サンプルではmatch()
に正規表現「$」を使って後方一致、「|」で区切って複数参照を実行しています。
let text = `abcdefg`;
if (text.match(/cde$|efg$/)) {
console.log('true');
} else {
console.log('false');
}
JavaScriptでの文字列の前方一致や後方一致を判別する方法は以下ページにて紹介しています。
ディスカッション
[…] 参考:【jQuery】文字列の前方一致や後方一致を判別する方法 | ONE NOTE […]
[…] jQuery で文字列の前方一致や後方一致を判別する方法 | ONE NOTES […]