这是在xaml文件中。
我需要用正则表达式掩盖一个框的输入。
我需要它包含10个数字或13个数字(按顺序,没有符号)
我有:
<... ValidationRegEx="\d{13}" />
工作正常,但是当我想添加一个十英寸的面具时,它会破坏:
<... ValidationRegEx="\d{13} | \d{10}" />
有什么想法吗?
答案 0 :(得分:8)
我应该删除空格,如下所示:
ValidationRegEx = "\d{13}|\d{10}"
否则,空格字符将成为您匹配的字符串的一部分(即13个数字后跟空格,或空格后跟10个数字)。
您也可以尝试简化表达式:
ValidationRegEx = "\d{10}\d{3}?"
(需要十加三个可选数字)。
答案 1 :(得分:0)
这对我有用:
< ... RegEx="\b\d{10}\b|\b\d{13}\b" ... />
这表示“找到一个包含10位数的整个单词或找到一个包含13位数的整个世界”。
正则表达式前后的\ b表示找到整个单词。
查看本教程网站,它帮助我回答了我自己的问题:
http://www.codeproject.com/Articles/9099/The-30-Minute-Regex-Tutorial
答案 2 :(得分: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