以下はバリデーションの処理を記載したコードなのですが、下記コードを実行すると、console画面に「bug.html:18 Uncaught TypeError: str_num.match is not a function」とのエラーが出てしまいます。
原因が分からない為、ご助言頂けましたら幸いです。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="http://code.jquery.com/jquery-3.3.1.min.js"></script> <title>Document</title> </head> <body> <div id="elem" about="Elephant"></div> <script> var str_num = 001; if ( str_num.match(/[^0-9]/g) // "", " ", " 1", "1a" をはじく。 // 単体では,"01" を通してしまう || parseInt(str_num, 10) + "" != str_num // "01", "1 " など0付き・スペース付き文字列をはじく。 // 単体では,スペースのみの文字列は通してしまう ) { alert("有効な整数ではありません。"); } else { alert("OK"); // 有効な整数が入力された } </script> </body> </html>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/08/25 02:21 編集