過去の桐井戸端BBS (桐ver.8)
18783 表の項目にE-mailアドレスを入力するとき特定のドメイン名のみ入力できるようほかのものを入力禁止としたい リヴ 2003/02/02-11:19
桐v8です。E-mailアドレス用に[PC]と[携帯]の2項目を設定しています。
入力の時に特定のドメイン名のみ入力可能にしたいのですが、なにか良い方法はないでしょうか?
例えばPCには@aol.com等々・・・携帯には@docomo.ne.jp等々・・・というふうに特定の文字のみ
(ただし一部分)を入力可能という様にしたいのです。
項目制約式でドメインを指定してみたのですが、ドメイン名のみしか入力できなくなってしまい、
アカウント名が入力できませんでした。
このような”文字列の一部分指定”というのは可能なのでしょうか?
よろしくお願いします。
18787 Re:E-mailアドレス 入力禁止 うにん 2003/02/02-17:13
記事番号18783へのコメント
リヴさん

色々あるでしょうが、

#対応番号(#部分列([],#文字位置([],"@")+1),"docomo.ne.jp,kddi.ne.jp,jphone.ne.jp")

のような感じでしょうか。
@の後ろ(@が含まれなければ文字列全体)にリストの中のどれかが入力されれば
OKという制約です。
#対応番号は、ドメイン名に「,」が含まれると使えませんが。
18810 Re:E-mailアドレス 入力禁止 佐田 守弘 2003/02/03-23:48
記事番号18783へのコメント
リヴさん
フォームで編集を行うのであれば、入力後イベントを使って、
入力したアドレスの文字列をチェックし、適していれば表に書き込み、
不適切であれば入力をやりなおす方法があります。

適切かどうかの判断のやりかたですが、「特定のドメインメイのみ」と書かれているので、
「#文字位置」関数を使って、指定ドメイン名の文字列が入力文字列の中に
含まれているかどうかを判断すれば良いと思います。
一例として、
 #文字位置(&編集文字列,"@abc.co.jp")>0
の様な形の式になります。
この式の値は、部分列として含まれていれば、その文字位置が返されるので、
1以上の値、含まれないときには0が返されます。

佐田守弘(KS-00119)

戻る