NG回避ツール

by surpent

HAML

%link{rel: "stylesheet", href: "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"}
%script{src: "https://code.jquery.com/jquery-3.2.1.slim.min.js"}
%script{src: "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"}
%script{src: "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"}
%section.container-fluid
  %h1.row
    NG回避ツール
  .row
    %article.col-lg-6.col-12
      %h2.row
        間に文字を挟む
      %form.row
        %label.form-group.col-lg-8.col-12
          元の文章:
          %textarea.form-control(name="text")
        %label.form-group.col-lg-4.col-12
          挿入する文字:
          %select(name="letter")
            %option(value="%E2%80%8B" selected)
              ZERO WIDTH SPACE (U+200B)
            %option(value="%E2%80%8C" selected)
              ZERO WIDTH NON-JOINER (U+200C)
            %option(value=" ")
              半角スペース
            %option(value="%E3%80%80")
              全角スペース (U+2001)
            %option(value="%E2%80%AA")
              LEFT-TO-RIGHT EMBEDDING (U+202A)
            %option(value="%E2%80%AA")
              LEFT-TO-RIGHT EMBEDDING (U+202A)
        %button.btn-primary.col-12(type="button" onclick="addSpace(form)")
          変換
        %label.form-group.col-12
          結果:
          %textarea.form-control(name="result" readonly)
    %article.col-lg-6.col-12
      %h2.row
        文字の順序を逆にする
      %form.row
        %label.form-group.col-lg-8.col-12
          元の文章:
          %textarea.form-control(name="text")
        %label.form-group.col-lg-4.col-12
          %input(type="checkbox" name="rlo" checked)
          前後にRLOとPDFを付加
        %button.btn-primary.col-12(type="button" onclick="reverseLetters(form)")
          変換
        %label.form-group.col-12
          結果:
          %textarea.form-control(name="result" readonly)

JavaScript

function addSpace(form)
{
	var spacer= decodeURI(form.letter.value);
  var result= form.text.value.split("").join(spacer);
  form.result.value= result;
}

function reverseLetters(form)
{
	var result= form.text.value.split("").reverse().join("");
  if (form.rlo.checked)
  {
  	result= "\u202e" + result + "\u202c";
  }
  form.result.value= result;
}