(1)選択肢replace及びmatchを選択した際、①、②のようalertするようにしたいのですが可能でしょうか?
①replace:入力された文字を「変更されました」に置換して入力ボックスにも適用したい
②match:英語と数字が1文字ずつ交互になるのが一回以上マッチ
(2)また、コードが重複しているのでもっと簡潔に書ける方法があったら教えてください。
<html> <head> <meta charset="utf-8"> <meta robot="noindex"> </head> <body> <form action="cgi-bin/formmail.cgi" method="post"> <p> 処理する値:<input type="text" name="name" size="40" id="input"> </p> <p>モード: <select name="blood"> <option value="choice" >お選びください</option> <option value="slice" >slice</option> <option value="split">split</option> <option value="substr">substr</option> <option value="trim">trim</option> <option value="length">length</option> <option value="replace">replace</option> <option value="match">match</option> </select></p> <button type="button" onclick="clicker();">実行</button> </form> <script> function clicker(){ var input = document.getElementById('input').value; var result = input.length; if(result < 10){ alert('10字以上入力ください'); } var option = document.getElementsByTagName('option'); if(option[0].selected){ alert('他の選択肢をお選びください'); } var option = document.getElementsByTagName('option'); var slice = input.slice(0,5); if(result >= 10 && option[1].selected){ alert(slice); } var option = document.getElementsByTagName('option'); var split = input.split('で'); if(result >= 10 && option[2].selected){ alert(split); } var option = document.getElementsByTagName('option'); var substr = input.substr(3,6); if(result >= 10 && option[3].selected){ alert(substr); } var option = document.getElementsByTagName('option'); var trim = input.trim(); if(result >= 10 && option[4].selected){ alert(trim); } var option = document.getElementsByTagName('option'); var length = input.length; if(result >= 10 && option[5].selected){ alert(length); } } </script> </body> </html>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。