Input-mask-ios: 元の文字列を取得する

作成日 2017年09月27日  ·  6コメント  ·  ソース: RedMadRobot/input-mask-ios

元の文字列を取得するにはどうすればよいですか?
たとえば、マスク{(123)}-[000]があり、テキストフィールドのテキストは「(123)456です。ユーザーが正確に入力したものを取得したいのですが、その場合は-456です。

question

全てのコメント6件

ねえ@beltik
ご質問ありがとうございます。

MaskedTextFieldDelegateは、コールバックメソッドtextField(_:didFillMandatoryCharacters:didExtractValue:) MaskedTextFieldDelegateを持つリスナーがあります。ここで、«抽出値»は検索する変数です。実装の詳細については、「使用法」セクションを参照してください。

ありがとう。
また、ユーザー入力に任意の文字、数字、記号を追加する機能も必要です。
現在それを行うために、ライブラリをオブジェクトにドラッグして変更しました。
理由は、「。%@?」のような記号が必要だったからです。 NS。

@beltik

あなたのことを正しく理解したかどうかはわかりませんが、特殊文字に関する機能のリクエストがあり、現在作業中です。

Psまた、マスク形式に応じて、 {(123)}-[000]場合、 (123)プレフィックスが含まれた(123)000ような結果の値を受け取ります。

省略するには、 (123)-[000]ような形式を組み込む必要があります。

@taflanidi

[-]や[_]のようなマスクを持っている場合、文字または数字しか入力できませんが、ドットのような記号はどうですか? 現在、フィールドにドットやその他の記号を入力することはできません。

その機能を追加するために、ライブラリをポッドからプロジェクトにドラッグして変更しました。 列挙型の大文字と小文字に応じて特定の文字セットのみを返すメソッドがあります。コメントしてYESを返すだけです(ニーズに合っているため)。 しかし、より良い解決策は、すべてのシンボルを編集できる["specific-key"]のようなものを追加することです。

もう一度説明させてください。 「、」、「。」などの記号を追加する機能が必要です。
そのために、ライブラリをプロジェクトにコピーし、func funcのクラスValueStateでaccepts(character char:Character)-> Bool {
コードを次のように置き換えました。
case .AlphaNumeric:
// CharacterSet.alphanumerics.isMember(character:char)を返します
trueを返す

ただし、もちろん、case.everyCharacterのようにcaseを追加することをお勧めします。 そして、私が要求するその機能(またはもっと簡単な方法があるかもしれませんが、私はそれを見つけられませんでした)。
私が自分自身を明確にすることを願っています。

3.3.0実装されています。

このページは役に立ちましたか?
0 / 5 - 0 評価