我正在Flutter中构建一个移动的应用程序,当用户输入电话号码时,我想验证和检查哪个电话号码属于哪个移动运营商(MTN CM或橙子CM)。
假设我附加了国家代码+237,这些是一个号码有效的一般规则,属于喀麦隆的特定运营商:
一般规则:
- 所有移动的号码必须以数字6开始。
- 所有移动的号码的长度为9位。
- 所有移动的号码不得有任何空格或特殊字符/字母。
对于MTN CM - MTN号码可以从8开始,并占用任何数字,直到结束(688684749)。
- MTN号码可以从7开始,并占用任何数字,直到结束(678684749)。
- MTN号码也可以从5开始,然后是一个范围(0 - 4),并采用任何数字,直到结束(651684749,652684749,653684749,654684749)。
橙子CM - 橙子号码可以从9开始,并占据任何数字,直到结束(698684749)。
- 此外,橙子数字可以以5开头,后面是一个范围(5 - 9),并占据任何数字直到结尾(655684749,656684749,657684749,658684749)。
RegExp regexMtn = RegExp(r'(^6+(?:\+?8|7|5[1-4])+[0-9]{9}$)');
尝试这就是我到目前为止在屏幕截图上所做的,但它并不像预期的那样工作,我已经看了正则表达式文档,但它似乎压倒了我。
期望我希望在与电话号码匹配的TextFormField后缀处显示移动的运营商的徽标,如果电话号码不匹配,则阻止用户提交请求。
1条答案
按热度按时间vfwfrxfs1#
要验证编号,请执行以下操作:
试试on regex101.com。
检查是否为MTN号码:
试试on regex101.com。
检查是否是橙色数字(解释基本相同):
试试on regex101.com。