HOME > > 文字列の取り扱い

js

文字列の取り扱い

文字列の長さを取得

console.log('あいうえおかきくけこさし'.length);   //12

たちつてとなにぬね

<p class="jisuu">たちつてとなにぬ</p>


let jisuuh = document.querySelector('.jisuu');
console.log(jisuuh.textContent.length);     //9

入力する都度文字数をカウントする

現在0文字

<textarea class="area1"></textarea>
<p>現在<span class="suuji1">0</span>文字</p>


let text1a =  document.querySelector('.area1');
let text1b = document.querySelector('.suuji1');
text1a.addEventListener('keyup', onKeyUp);
function onKeyUp() {
const textsuu = text1a.value;
text1b.innerHTML = textsuu.length;
}

サロゲートペアの場合はArray.from()を付ける

console.log('𦥑'.length);   //2
console.log(Array.from('𦥑').length);   1

両端の空白を削除

const text2 = '    おはようございます。    '
console.log(text2);
console.log(text2.trim());

文字の間の空白は削除されない

const text3 = '   猫  犬   ';
console.log(text3);
console.log(text3.trim());

末尾の改行コードを取る

const text4 = 'こんにちは\n';
console.log(text4);
console.log(text4.trim());

文字列が何番目にあるかを調べる(0番目から始まる)

const neko1 = '猫が屋根の上をお散歩しております。Meke日記。';
console.log(neko1.indexOf('猫'));   //0番目にある
console.log(neko1.indexOf('散歩'));  //8番目にある

最後に表れるインデックス(何番目)

console.log(neko1.lastIndexOf('お'));  //12

-1は文字列が無いことを意味する

console.log(neko1.indexOf('か'));  //-1
console.log(neko1.indexOf('m'));  //大文字と小文字を区別するため-1

検索開始インデックスを指定すると、そこより後で合致する文字を探し、最初から何文字目にあるかを数える

var neko2 = 'ひなたぼっこをしている猫がいます。猫日記。';
console.log(neko2.indexOf('猫', 10 ));  // 11
console.log(neko2.indexOf('猫', 15 ));  // 17

文字列があるか

const neko3 = '猫専用こたつを用意してください。Tama日記。';
console.log(neko3.includes('こたつ'));   //true
console.log(neko3.includes('雪'));  //false

特定の文字列で始まるか

const neko4 = 'お腹いっぱい食べたい。Mimi日記。';
console.log(neko4.startsWith('お腹'));  //true
console.log(neko4.startsWith('猫'));   //false

特定の文字列で終わるか

const neko5 = '隣のみぃちゃんが遊びに来た。Tama日記。';
console.log(neko5.endsWith('日記。')); //true
console.log(neko5.endsWith('ノート'));  //false

要素に表示

<p class="neko6a"></p>
<p class="neko6b"></p>

const neko6txt = '猫の森に遊びに行った';
const neko6c = document.querySelector('.neko6a');
const neko6d = document.querySelector('.neko6b');
neko6c.innerHTML = neko6txt.includes('猫');
neko6d.innerHTML = neko6txt.includes('こたつ');

文字列を取り出す

console.log('寝ていたら猫の集会に遅れた'.charAt(4));  //ら
console.log('今日はお散歩日和'.charAt());   //引数に入力がない時は0 今

東北・北海道の最初の一文字からリストアップ

最初の一文字を入力

<label><input id="search-word" maxlength="1" type="text"></label>

<div id="list1">
<button data-a="北海道" data-b="ほっかいどう">北海道</button>
<button data-a="青森県" data-b="あおもりけん">青森県</button>
<button data-a="岩手県" data-b="いわてけん">岩手県</button>
<button data-a="宮城県" data-b="みやぎけん">宮城県</button>
<button data-a="秋田県" data-b="あおもりけん">秋田県</button>
<button data-a="山形県" data-b="やまがたけん">山形県</button>
<button data-a="福島県" data-b="ふくしまけん">福島県</button>
</div>

.hide {display:none}


const inputtxt = document.querySelector('#search-word');
const todouhuken = document.querySelectorAll('#list1 button');

inputtxt.addEventListener('keyup', () => {
    const searchtxt = inputtxt.value;
  todouhuken.forEach((element) => {
      if(!searchtxt || searchtxt===''){
        element.classList.remove('hide');
        return;
      }

    const todouhukenmei = element.dataset.a;
    const furigana = element.dataset.b;
      if(
        searchtxt.charAt(0)===todouhukenmei.charAt(0)||
        searchtxt.charAt(0)===furigana.charAt(0)) {
        element.classList.remove('hide');
      } else {
        element.classList.add('hide');
      }
  });
});

このページのTOPへ