1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) 2023 Huawei Device Co., Ltd.
3     Licensed under the Apache License, Version 2.0 (the "License");
4     you may not use this file except in compliance with the License.
5     You may obtain a copy of the License at
6
7         http://www.apache.org/licenses/LICENSE-2.0
8
9     Unless required by applicable law or agreed to in writing, software
10     distributed under the License is distributed on an "AS IS" BASIS,
11     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12     See the License for the specific language governing permissions and
13     limitations under the License.
14-->
15<phone_number_rule>
16    <negative>
17        <rule>
18            <insensitive>False</insensitive>
19            <type>ZERO</type>
20            <valid>Default</valid>
21            <handle>Default</handle>
22            <content>(?&lt;![a-zA-Z_0-9\.@])((https?|ftp)://)?([a-zA-Z_0-9][a-zA-Z0-9_\-]*(\.[a-zA-Z0-9_\-]{1,20})</content>
23            <content>*\.(org|com|edu|net|[a-z]{2})|(?!0)[1-2]?[0-9]{1,2}\.(?!0)[1-2]?[0-9]{1,2}\.(?!0)[1-2]?</content>
24            <content>[0-9]{1,2}\.(?!0)[1-2]?[0-9]{1,2})(?![a-zA-Z0-9_\.])(:[1-9][0-9]{0,4})?(/([a-zA-Z0-9/_\.</content>
25            <content>\p{Punct}]*(\?\S+)?)?)?(?![a-zA-Z_0-9])</content>
26        </rule>
27        <rule>
28            <insensitive>True</insensitive>
29            <type>ZERO</type>
30            <valid>Default</valid>
31            <handle>Default</handle>
32            <content>\d{3,17}(g|G|k|kB|KB|GB|kg|千克|毫升|mL|(平|立)方米|(m²)|(m³)|((平方|立方)?分米)|((平方|立方)?厘米)|</content>
33            <content>((平方|立方)?毫米)|(千米)|(英尺)|(公里)|(公斤)|楼)(?!\p{Alpha})</content>
34        </rule>
35        <rule>
36            <insensitive>False</insensitive>
37            <type>ZERO</type>
38            <valid>Default</valid>
39            <handle>Default</handle>
40            <content>第\d{3,17}(只|次|页|条|个|句)</content>
41        </rule>
42        <rule>
43            <insensitive>False</insensitive>
44            <type>ZERO</type>
45            <valid>Default</valid>
46            <handle>Default</handle>
47            <content>(\d{1,16}\p{Blank}*[\..~~]\p{Blank}*)+\d{1,16}</content>
48        </rule>
49        <rule>
50            <insensitive>False</insensitive>
51            <type>ZERO</type>
52            <valid>Default</valid>
53            <handle>Default</handle>
54            <content>(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{2})|(2[0-4])|(25[0-5]))</content>
55        </rule>
56        <rule>
57            <insensitive>False</insensitive>
58            <type>ZERO</type>
59            <valid>Default</valid>
60            <handle>Default</handle>
61            <content>[a-zA-Z_0-9]{1,20}@[a-zA-Z_0-9]{1,20}\.[A-Za-z]{1,10}</content>
62        </rule>
63        <rule>
64            <insensitive>False</insensitive>
65            <type>ZERO</type>
66            <valid>Default</valid>
67            <handle>Default</handle>
68            <content>(代金券|(账|帐)户号?|ID|id|验证码|校验码|动态码|取件码|密码|工号|卡号|票号|单号|订单号?|证号|身份证(号码?)?|学号</content>
69            <content>|邮编|序列号|代号|编号|昵称|(账|帐)号名)(是|为|\()?\p{Blank}*[::]?\p{Blank}*[A-Za-z0-9_-]{1,30}</content>
70        </rule>
71        <rule>
72            <insensitive>False</insensitive>
73            <type>ZERO</type>
74            <valid>Default</valid>
75            <handle>Default</handle>
76            <content>((WEIXIN|Weibo|yy|qq)号?|群号|微博号?|微信号?|编(号|码))(是|为)?\p{Blank}*[::]?\p{Blank}*\d{4,17}</content>
77        </rule>
78        <rule>
79            <insensitive>True</insensitive>
80            <type>ZERO</type>
81            <valid>Default</valid>
82            <handle>Default</handle>
83            <content>(?&lt;!\d)201[0-9](0?[1-9]|1[0-2])(0?[1-9]|[1-2][0-9]|3[01])(?!\d)</content>
84        </rule>
85        <rule>
86            <insensitive>False</insensitive>
87            <type>ZERO</type>
88            <valid>Default</valid>
89            <handle>Default</handle>
90            <content>(\d{1,16}[\*\.]{2,8})+(\d{1,8})?</content>
91        </rule>
92        <rule>
93            <insensitive>False</insensitive>
94            <type>ZERO</type>
95            <valid>Default</valid>
96            <handle>Default</handle>
97            <content>((\d{1,16}(\.)?\d{1,10})(\p{Sc}|印尼盾|美元|亿元|十万元?|百万元?|千万元?|万元|((港|澳|新?台|日)</content>
98            <content>(币|元))|人民币|元))|((((港|澳|新?台|日)(币|元))|人民币|\p{Sc}|标价为?|售价为?|价格为?)[::]?</content>
99            <content>(\d{1,16}(\.)?\d{1,16}))</content>
100        </rule>
101        <rule>
102            <insensitive>True</insensitive>
103            <type>ZERO</type>
104            <valid>Default</valid>
105            <handle>Default</handle>
106            <content>[A-Za-z]{1,20}(?&lt;!(mobile|phone|tel(ephone(\p{Blank}{1,4}number)?)?))[\d-]{3,11}(?![-\d])</content>
107        </rule>
108        <rule>
109            <insensitive>False</insensitive>
110            <type>ZERO</type>
111            <valid>Default</valid>
112            <handle>Default</handle>
113            <content>\{\d{2,4}\}(\p{Blank})*\d{1,4}</content>
114        </rule>
115        <rule>
116            <insensitive>False</insensitive>
117            <type>ZERO</type>
118            <valid>Default</valid>
119            <handle>Default</handle>
120            <content>(?&lt;![-\d])(20|19)[0-9]{2}-?(1[0-2]|0?[1-9])-?([1-2][0-9]|3[01]|0?[1-9])(0?[0-9]|1[0-9]|2</content>
121            <content>[0-4])(\p{Blank})*[::](\p{Blank})*([1-5][0-9]|0?[0-9])((\p{Blank})*[::](\p{Blank})*</content>
122            <content>([1-5][0-9]|0?[0-9]))?</content>
123        </rule>
124        <rule>
125            <insensitive>False</insensitive>
126            <type>ZERO</type>
127            <valid>Default</valid>
128            <handle>Default</handle>
129            <content>[@#][a-zA-Z_-]{0,20}[0-9]{4,}[a-zA-Z_-]{0,20}</content>
130        </rule>
131    </negative>
132    <positive>
133        <rule>
134            <insensitive>False</insensitive>
135            <type>ZERO</type>
136            <valid>Default</valid>
137            <handle>Operator</handle>
138            <content>(?&lt;![-\d])100\d{4}(?![\d])</content>
139        </rule>
140        <rule>
141            <insensitive>False</insensitive>
142            <type>ZERO</type>
143            <valid>Default</valid>
144            <handle>Blank</handle>
145            <content>((?&lt;!([-\d])|(\d\p{Blank}{1,5}))[2-9](\d{2}\p{Blank}+\d{4,5}|\d{3}\p{Blank}+\d{3,4})</content>
146            <content>(?!\p{Blank}*\d)|(?&lt;![-\d])[2-9]\d{6,7}(?![\d]))(;\d{1})?</content>
147        </rule>
148        <rule>
149            <insensitive>False</insensitive>
150            <type>ZERO</type>
151            <valid>Default</valid>
152            <handle>Slant</handle>
153            <content>(?&lt;![-\d])\d{5,6}[/|]\d{5,6}(?![-\d])</content>
154        </rule>
155    </positive>
156    <border>
157        <rule>
158            <insensitive>True</insensitive>
159            <type>CONTAIN</type>
160            <valid>Default</valid>
161            <handle>Default</handle>
162            <content>(0{3,}|1{3,}|2{3,}|3{3,}|4{3,}|5{3,}|6{3,}|7{3,}|8{3,}|9{3,}|10{8,})</content>
163        </rule>
164    </border>
165    <codes>
166        <rule>
167            <insensitive>False</insensitive>
168            <type>ZERO</type>
169            <valid>Code</valid>
170            <handle>Default</handle>
171            <content></content>
172        </rule>
173    </codes>
174    <common_exit>
175        <rule>
176            <content>False</content>
177        </rule>
178    </common_exit>
179    <find_number>
180        <rule>
181            <insensitive>False</insensitive>
182            <type>ZERO</type>
183            <valid>Default</valid>
184            <handle>Default</handle>
185            <content>(?&lt;![-\d])\d{5,6}[/\|]\d{5,6}(?![-\d])</content>
186        </rule>
187    </find_number>
188</phone_number_rule>