12. 特定の単語を入力したらボタンを無効にする
- フィールドに「WIP」という単語が含まれている場合に「Merge」ボタンを無効にします。
- 「WIP」が他の英単語の一部の場合は無視されます。
- 「WIP」が日本語などの2バイト文字に接している場合は単語とみなされません。
- 小文字の「wip」でも「Merge」ボタンは無効になります。
サンプルコード
ポイントはreturn /\bWIP\b/i.test(this.a)
の行です。正規表現でi
を指定しているので大文字小文字は区別されません。
const vm = new Vue({
el: "#app",
data: {a: "WIP: 親譲りの無鉄砲で小供の時から損ばかりしている"},
computed: {
b: function() {
return /\bWIP\b/i.test(this.a) 👈
},
},
})
a
でHTMLのinputクラスのv-model
属性を参照しています。
<input class="form-control" v-model="a" />
補足: ES6のメソッド定義の省略形
ECMAScript 2015(ES6)より、上のコードのb: function()
部分を以下のようにb()
と略記することもできます(Vue.jsに限りません)。ブラウザの互換性にご注意ください。
b() {
return /\bWIP\b/i.test(this.a)
},
- MDN: メソッド定義
- ECMAScript 互換性テーブル — 少々見つけにくいのですが、Syntax > shorthand properties > shorthand methodsの行です(下図)。