0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JavaScript 半角数字が入力されたことを正規表現で確認

Posted at

したいこと

入力された値がすべて半角数字であることを、
正規表現を使って確認したい。

結論

数値である入力値を一度文字列に変換し、match()で比較する。

以下は失敗例と成功例

使用する値

半角数字のみであることを確認する正規表現:/^\d+$/ 
 (行頭から行末まで半角数字のみであるということ)

1. 失敗1 正規表現はイコールでの比較ができない。

.javascript
// 比較する関数(入力値が半角数字である場合1, それ以外の場合は0を返す)
function sample(value){
    if(value == /^\d+$/){return 1}else{return 0}
}

// `1234`を入力してチェック
sample(1234)

入力値は半角数字のみだが、返ってくる値は0。
一致しているとみなされていない。

2. 失敗2 数値はmatch()で比較することができない

.javascript
// 比較する関数(入力値が半角数字である場合1, それ以外の場合は0を返す)
function sample(value){
    if(value.match(/^\d+$/)){return 1}else{return 0}
}

// `1234`を入力してチェック
sample(1234)

Uncaught TypeError: value.match is not a functionというエラーが発生。
※今回の入力値は数値なのでエラーが出たが、入力値が文字列の場合はこの書き方でOK。

3. 成功 数値は文字列に変換してからmatchで比較する

.javascript
// 比較する関数(入力値が半角数字である場合1, それ以外の場合は0を返す)
function sample(value){
    if(String(value).match(/^\d+$/)){return 1}else{return 0}
}

// `1234`を入力してチェック
sample(1234)

返ってくる値は1。比較ができた。

0
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?