本記事はノーコードアプリ開発について全く知らなかった管理人が独学で勉強し、ここ大事!と感じた部分を記事にまとめています。
本ブログでは新UI画面で内容をまとめています。
新旧画面への切り替えは、下図を参考に該当アイコンをクリックしてください(^^)
まずはじめに
- appsheetに入力するデータを半角英数字に制限したい人
- Text関数を使ってValid ifの入力制限が出来る
- 半角英数字だけでなく全角の設定も可能
今回の記事はValid if(入力制限)についてです。
基本的な設定については別記事ですでにまとめていますが、先日仕事で
半角英数字でデータを入力させるようにして欲しい
こんなお願いがやってきました。
めちゃくちゃ悩みましたが何とか出来たのでそれを記事にしてみました(^^)
最初に言っておきますが、かなり泥臭いやり方です笑
それでは勉強していきましょう!
使用した関数について
今回の半角英数字の入力制限を実装するにあたり、使った関数は
- len()関数
- substitute()関数
この2つです。
まずはこの2つの関数の使い方を見てみましょう(^^)
Text関数については、こちらの記事で詳しくまとめています(^^)
【永久保存版】appsheetで覚えておくべきText関数
この2つの関数を使って構文を作ると面白いことが出来ます(^^)
例えば、入力値を半角数字の0のみ許す構文は
len(substitute([_this],”0″,””))=0
この構文で入力値は半角数字の0のみ受け付けるようになります。
では、入力値を半角数字の0と1のみ許す構文は
len(substitute(substitute([_this],”0″,””),”1″,””))=0
この構文で入力値は半角数字の0と1のみ受け付けるようになります。
もう何となくわかってきたと思いますが、解説しますね(^^)
まず大事な前提条件として
len(“”)
これは0を返します。
つまりlen()=0とした場合、括弧の中が空白だったら左辺=右辺となります。
このことを把握しつつ下図を見てみましょう(^^)
len(substitute(substitute(substitute([_this],”0″,””),”1″,””),”2″,””))=0
この構文が内部で処理している内容は
1.半角数字の0がある場合 → 0の文字列を空白とみなします(この処理が行われた文字列を文字列Aとします)
2.文字列Aに半角数字の1が含まれる場合 → 1の文字列を空白とみなします(これを文字列Bとします)
3.文字列Bに半角数字の2が含まれる場合 → 2の文字列を空白とみなします(これを文字列Cとします)
4.文字列Cが空白の場合はlen()=0が成立するためOK!
こういう意味になります。
読者の皆さんは以下の構文をコピペしてお使いください
Word Pressのバグなのか不明ですが、以下の構文をそのままコピペするとエラーが出ることがあります。その場合は、『[_this],”0″,””)』の0の前後の ” を半角に置き換えてみてください。
ちなみにこの構文は、英語の大文字や小文字、半角や全角を別の文字列として認識するのでご注意ください。
その場合は構文をコピペして必要な文字列を修正してお使いください(^^)
まとめ
以上、半角英数字のみを入力させる構文のご紹介でした。
いや、もっといい方法あるやろ!?と思われた方、あればコメント欄から教えてください。
私のレベルだとこれしか思いつきませんでした・・
記事内容について何かありましたらページ下にあるコメント欄からコメントをお願いします。
わかりにくかった部分や間違った情報などご指摘いただけると嬉しいです!
勉強お疲れさまでした(^^)
記事内の関数をコピーすると半角→全角になってしまう不具合を修正しました。
また、ご要望のあった半角英数字(大文字含む)の条件式を追記しました(^^)