プロが教える店舗&オフィスのセキュリティ対策術

JavaScript(ES6)で、半角英数字かどうかチェックする関数を作成し、その結果をhtml側でボタンを押すとBooleanとして出力したいです。下記のように作成しましたが、出力部分をどのようにすればよいでしょうか。よろしくお願いいたします。

<html>
<head></head>
<body>
<script>
const CheckHalfwidth = function(str) {
if(str.match(/^[a-zA-Z0-9]+$/)){ return true; }
else{ return false;}
}

const onButtonClick = function() {

}
</script>
<input type="text" id="txt1">
<input type="button" value="半角英数チェック" onclick="onButtonClick();">
<div id="output"> </div>
</body>
</html>

A 回答 (3件)

とりあえずこんな感じ


<script>
const CheckHalfwidth = (str)=>{
return str.match(/^[a-zA-Z0-9]+$/)?true:false;
}
const onButtonClick = ()=>{
document.querySelector('#output').textContent=CheckHalfwidth(document.querySelector('#txt1').value);
}
</script>
<input type="text" id="txt1">
<input type="button" value="半角英数チェック" onclick="onButtonClick();">
<div id="output"> </div>
    • good
    • 0
この回答へのお礼

完成形となっており分かりやすかったので、ベストアンサーとさせていただきました。ご丁寧にありがとうございました。

お礼日時:2018/12/17 10:27

こんにちは



>その結果をhtml側でボタンを押すとBooleanとして出力したいです。
出力の内容(意味)はBooleanでも、表示はテキストで行うことになります。

以下は、(ご提示の)id="output"要素を出力先として、ボタンクリックでそこに表示する例です。
例では固定文字列の表示にしてありますが、イベント処理の中で表示したい内容を作成してその結果を表示すればよいでしょう。

<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title></head>
<body>

<input type="button" value="TEST" />
<div id="output"></div>

<script type="text/javascript">
document.querySelector("input").addEventListener("click",function(){
let message = "Your Message";
document.getElementById("output").textContent = message;
});
</script>
</body>
</html>
    • good
    • 0
この回答へのお礼

参考にさせていただきます!ありがとうございます。

お礼日時:2018/12/17 10:25

>その結果をhtml側でボタンを押すとBooleanとして出力したいです。


>出力部分をどのようにすればよいでしょうか。

その出力部分をどのようにしたいのか?が問題です。
「alert()」で出力するのか、「innerHTML」で出力するのか?
    • good
    • 0
この回答へのお礼

言葉が足りず申し訳ありません。innerHTMLにての出力です。ありがとうございます!

お礼日時:2018/12/17 10:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!