7

これはxamlファイル内にあります。

ボックスの入力を正規表現でマスクする必要があります。

10個または13個の数字を含める必要があります(順番に、記号なし)

私は持っています :

<... ValidationRegEx="\d{13}" />

これは問題なく動作しますが、10のマスクを追加したい場合、壊れます:

<... ValidationRegEx="\d{13} | \d{10}" />

何か案は?

4

3 に答える 3

8

次のように、スペースを削除する必要があります。

ValidationRegEx = "\d{13}|\d{10}"

それ以外の場合、スペース文字は一致する文字列の一部になります(つまり、13桁の後にスペース、またはスペースの後に10桁)。

次のように式を単純化することもできます。

ValidationRegEx = "\d{10}\d{3}?"

(10と3つのオプションの数字が必要です)。

于 2012-10-16T21:53:07.513 に答える
0

これは私のために働いたものです:

< ... RegEx="\b\d{10}\b|\b\d{13}\b" ... />

これは、「10桁の単語全体を検索するか、13桁の世界全体を検索する」ことを表します。

正規表現の前後にある\bは、単語全体を検索することを意味します。

私自身の質問に答えるのに役立ったこのチュートリアルサイトをチェックしてください:

http://www.codeproject.com/Articles/9099/The-30-Minute-Regex-Tutorial

于 2012-10-16T22:41:49.227 に答える
0
                              ┌─────┬─ 10 or 13 digits
                              ↓     ↓
 ValidationRegEx = "(?<!\d)\d{10}\d{3}?(?!\d)" 
                       ↑                 ↑
                       │                 └─ negative lookahead to ensure 
                       │                    there is no other digit ahead
                       │
                       └─ negative lookbehind to ensure
                          there is no other digit behind
于 2012-10-16T22:42:16.490 に答える