js
文字列の取り扱い2
●文字目〜●文字目までの文字列を取り出す
sliceはマイナス指定が可能。substringはマイナス指定はゼロになる
const neko1 = '猫が散歩しています'.slice(0,4);
console.log(neko1); //猫が散歩
const neko1a ='猫が散歩しています';
console.log(neko1a.slice(0,5)); //猫が散歩し
const neko2 = '猫がひなたぼっこしています'.slice(-4,-1);
console.log(neko2); //ていま
const neko3 = '猫が魚釣りをしています'.substring(2,6);
console.log(neko3); //魚釣りをし
const neko4 = '猫がお月見をしています'.substring(-4,-1);
console.log(neko4); //(空欄が返る)
終わりを省略することができる
const neko5 = '猫が塀の上を歩いています'.slice(6);
console.log(neko5); //歩いています
const neko6 = '猫が帽子をかぶっています'.substring(5);
console.log(neko6); //かぶっています
substringは、開始と終了が逆になっても機能する
const neko7 = '猫が塀の上を歩いています'.slice(6,1);
console.log(neko7); //(空欄が返る)
const neko8 = '猫が帽子をかぶっています'.substring(5,1);
console.log(neko8); //が帽子を
●文字目を指定し、そこから◯文字分を取り出す
const neko10 = '猫の森にはたくさんの花が咲いています'.substr(4,3);
console.log(neko10); //はたく
文字列の置き換え・削除
第一引数が文字列の場合、置き換え対象は最初にマッチした文字のみ
let imageN = 'image1.png';
let imageNN = imageN.replace('1','2');
console.log(imageNN); // image2.png
let inputTxt = '猫のご飯\n割引';
let inputTxt2 = inputTxt.replace('\n',''); //空にする
console.log(inputTxt); //改行されている
console.log(inputTxt2); //改行が省かれた
電話番号例
第一引数が文字列の場合、置き換え対象は最初にマッチした文字のみなので、-は最初の一つ目しか消えない
let telnum = '012-345-6789';
telnum2 = telnum.replace('-','');
console.log(telnum2); //012345-6789
正規表現を使い、文字列全体のマッチ(gオプション)を指定すると全て削除できる
let telnum3 = '012-345-6789';
telnum4 = telnum.replace(/-/g,'');
console.log(telnum4); //0123456789
入力フォームにハイフンあり、なし、どちらでも番号のみにしたい場合
1.ハイフン付で電話番号を入れてください。2.送信ボタンをクリックしてください(実際の送信はしません)
//送信ボタンクリック
document.querySelector('#stbtn').addEventListener('click',(event)=>{
//電話番号を取得
const phonenum = document.querySelector('#phonefr').value;
const phonenum2 = phonenum.replace(/-/g,'');
let ptxt = document.querySelector('.attxt');
ptxt.innerHTML = phonenum2;
});