下記のように#S3 or #S4 or #S5が入力されblurされた場合、それぞれの数値が#S2
に表示され、これが4桁以上であればカンマ区切りで表示されるプログラムを作成しております。
以下のように、3桁区カンマ切りの正規表現によるreplaceで
(num).replace is not a functionのエラーが出力されるのですが
原因と解決方法をご教示願えますでしょうか。
宜しくお願い申し上げます。
html
1<input id="S2" type="text"> 2<input id="S3" type="text"> 3<input id="S4" type="text"> 4<input id="S5" type="text">
Javascript
1$(function(){ 2 $(document).on('blur','#S3,#S4,#S5',function(){ 3 let val_S3 = $('#S3').val().replace(',','')-0;//カンマ数値が入力されるため、カンマを削除してから数値列方に変換 4 let val_S4 = $('#S4').val().replace(',','')-0; 5 let val_S5 = $('#S5').val().replace(',','')-0; 6 let output = (val_S3+val_S4+val_S5).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,');; 7 $('#S2').val(output)//6 Uncaught TypeError: (val_S3 + val_S4 + val_S5).replace is not a function 8 }) 9})
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/28 07:16