# 入力フォームで全角数字を半角数字へ変換方法

**URL:** <https://www.nocode-faq.com/t/topic/4023>\
**Category:** bubble\
**Created:** [2023 年 11 月 14 日午後 12:47 UTC](https://www.nocode-faq.com/t/topic/4023 "2023-11-14T12:47:06Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![mizutama12120329](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/mizutama12120329/32/7630_2.png) [@mizutama12120329](https://www.nocode-faq.com/u/mizutama12120329)\
**Post date:** [2023 年 11 月 14 日午後 12:47 UTC](https://www.nocode-faq.com/t/topic/4023/1 "2023-11-14T12:47:06Z")

</div>

* * *

## こちらは投稿時削除下さい。 以下は、初めて投稿する人のためのテンプレートです。 必要のない項目は、削除下さい。)

### どういうものを作ろうとしているか

在庫管理システム

### 1.前提条件

DBの作り

- アイテムテーブルを作る
- ItemName(商品名) text
- stock(個数) number

* * *

UI

- InputFormsのInputを配置します  
これは、個数の入力を入れるFormになります
- Inputのcontent formatをintegerにします
- 登録ボタンの作成

ここでは、ItemName(商品名)のUIを作ることは割愛しています。

### 2.発生している問題

前提条件で作った Inputに全角の数字を入れる  
登録ボタンの作成を押したときに DBのアイテムテーブルにstockの個数データとして入らないです。  
半角だったらアイテムテーブルにstockのデータが入るので全角が問題だと認識があります。

### 4.実装したい機能

その全角の数字を変換しstockの個数データとして入れることは可能でしょうか？

### 5.スクリーンショット

UIイメージになります

 ![スクリーンショット 2023-11-14 21.28.55](https://us1.discourse-cdn.com/flex020/uploads/ncc_forum/original/2X/1/117974e2c5bd1f194f370a00adde66cb53df0151.png)

### 6.試したこと

WorkflowでInputのfind & replaceを使用して変換した場合登録は、できたが数字、100が入ることもあれば10の場合もあるので find & replaceを使用してやるのは難しい認識です。

### 7.補足情報 （調べたURL/参考になりそうな事例）

> **[【Bubble】入力された数字をすべて半角で取り込む - Qiita](https://qiita.com/UKeyTim/items/1ac385554c3ac5330b66)**
>
> はじめに 現在構築中の予約フォームサイトで、電話番号入力欄を用意しているのですが、Inputエレメントの"Content format"を「Text(numbers only)」にしてみたところ、数字のみの入力にはなったものの半角全角の両方が許可されてしまいました。 半角...

---

<div class="post-metadata">

**Author:** ![Turtle01](https://avatars.discourse-cdn.com/v4/letter/t/96bed5/32.png) [@Turtle01](https://www.nocode-faq.com/u/Turtle01)\
**Post date:** [2023 年 11 月 14 日午後 11:11 UTC](https://www.nocode-faq.com/t/topic/4023/2 "2023-11-14T23:11:54Z")

</div>

こんにちは～

input に入力された全角数字を半角数字に変換したいとのことですね。  
この場合は「正規表現」を使うのがよろしいかと思います。

詳しくはこちらの記事が参考になるかと思いますので、ご一読お願いします〜！  
[https://blog.nocodelab.jp/entry/regex](https://blog.nocodelab.jp/entry/regex)

もし試してみて難しそうであればまたご連絡ください〜

---

<div class="post-metadata">

**Author:** ![mizutama12120329](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/mizutama12120329/32/7630_2.png) [@mizutama12120329](https://www.nocode-faq.com/u/mizutama12120329)\
**Post date:** [2023 年 11 月 15 日午後 4:00 UTC](https://www.nocode-faq.com/t/topic/4023/3 "2023-11-15T16:00:37Z")

</div>

@Turtle01 さま  
ご連絡ありがとうございます。  
正規表現を使うのは何となくわかったのですが  
置き換えたいパターンと置き換えたい単語が必要だと思いますが  
自由入力の場合置き換えたいパターンは、無限大にあると思っていますがそれはどういった対応をすれば良いでしょうか？

今回私のパターンですと  
全角の「１００」を「100」にしたい「１」「1」にしたいということですので100パターンを用意するという形をとらなければならないということでしょうか？

ご返答よろしくお願いいたします。

---

<div class="post-metadata">

**Author:** ![john03tgck01a](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/john03tgck01a/32/4558_2.png) [@john03tgck01a](https://www.nocode-faq.com/u/john03tgck01a)\
**Post date:** [2023 年 11 月 15 日午後 10:31 UTC](https://www.nocode-faq.com/t/topic/4023/4 "2023-11-15T22:31:28Z")

</div>

一つのアイデアですが、全角文字を入力させないという方法はどうでしょうか。

正規表現を使い、input valueが全角文字であれば登録をさせず、エラーを返すことでユーザーは半角文字で入力しないといけなくなります。

ボタンを非活性にしてしまうのもいいと思います。

---

<div class="post-metadata">

**Author:** ![mizutama12120329](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/mizutama12120329/32/7630_2.png) [@mizutama12120329](https://www.nocode-faq.com/u/mizutama12120329)\
**Post date:** [2023 年 11 月 16 日午前 12:16 UTC](https://www.nocode-faq.com/t/topic/4023/5 "2023-11-16T00:16:23Z")

</div>

@john03tgck01a さま  
ありがとうございます。

> input valueが全角文字であれば登録をさせず、エラーを返す

具体的には、どのような手順で実現できそうでしょうか？

1. Workflowを組んだら良いのでしょうか？
2. Buttonのconditionでregexを組んで ボタンを非活性にすればよろしいでしょうか？

2番については、皆目見当がついていません。

---

<div class="post-metadata">

**Author:** ![john03tgck01a](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/john03tgck01a/32/4558_2.png) [@john03tgck01a](https://www.nocode-faq.com/u/john03tgck01a)\
**Post date:** [2023 年 11 月 16 日午前 5:07 UTC](https://www.nocode-faq.com/t/topic/4023/6 "2023-11-16T05:07:11Z")

</div>

@mizutama12120329  
WorkFlowは組まずに、input form のConditionalとButtonのConditionalに設定します。  
正規表現の使い方は @Turtle01 さんの共有してくれているページがわかりやすいと思います。

inputのConditional

 ![スクリーンショット 2023-11-16 14.04.16](https://us1.discourse-cdn.com/flex020/uploads/ncc_forum/original/2X/1/1253ec4bd2ff6096cc8b94ece6b253360b23f621.png)

ButtonのConditional

 ![スクリーンショット 2023-11-16 14.05.49](https://us1.discourse-cdn.com/flex020/uploads/ncc_forum/original/2X/9/9b4d34556c3febf101cf7e19144a79e5520b5a92.png)

動きはこんな感じです。

> **[Gyazo Screen Video](https://gyazo.com/dd689a7c19e4329db0cd706eba0231fc)**
>
> Gyazo is the easiest way to record screenshots & videos you can share instantly. Save time with async visual communication that's effortless and engaging.

---

<div class="post-metadata">

**Author:** ![mizutama12120329](https://sea2.discourse-cdn.com/flex020/user_avatar/www.nocode-faq.com/mizutama12120329/32/7630_2.png) [@mizutama12120329](https://www.nocode-faq.com/u/mizutama12120329)\
**Post date:** [2023 年 11 月 20 日午前 2:52 UTC](https://www.nocode-faq.com/t/topic/4023/7 "2023-11-20T02:52:42Z")

</div>

john03tgck01a さま  
丁寧ない解説ありがとうございます。

こちらの件は、WorkFlowは組まずに、input form のConditionalとButtonのConditionalに設定するようにします。

回答ありがとうございました。
