プロが教えるわが家の防犯対策術!

パスワード(数字のみ)を入力してもらい
それを判定するのですが
半角数字での入力でなくてはいけないのですが
全角数字での入力を想定し 半角へ変換させますが
下記のものだと きちんと半角で入力された場合には
エラーになってしまいます
全角の場合のみ 下記を実行させたいのですが
(if判定) 全角数字である判定は出来るのしょうか?
また、全角と半角が混在している場合
自分のテストではエラーにならず処理されますが
これは本当に問題無いのでしょうか?
あと 数字以外のものが入った場合
処理をさせず そこで終了させたいのですが・・

str=変換元入力値
function hankakuConv(str){
return str.replace(/[A-Za-z0-9]/g, function(s) {
return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);
});
}

A 回答 (2件)

こうするとどうなりますか?


変更前:return str.replace(/[A-Za-z0-9]/g, function(s) {
変更後:return str.toString().replace(/[A-Za-z0-9]/g, function(s) {
    • good
    • 0
この回答へのお礼

すばらしいです!

OKでした

ありがとうございます

助かりました!!! 感謝

お礼日時:2021/05/02 08:37

>下記のものだと きちんと半角で入力された場合には


>エラーになってしまいます
なんというエラーが出ていますか?
    • good
    • 0
この回答へのお礼

レスありがとうございます

TypeError: str.replace is not a function

というエラーになります

お礼日時:2021/05/02 06:58

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

このQ&Aを見た人はこんなQ&Aも見ています