我目前正在攻读考试,而我正在尝试编写一个类,我看到了这个属性的要求。我需要在名为User的类中编写这个属性。
电话 - 必须采用“+ [country_code] / [phone]”格式 [country_code]介于1到3位之间,[phone]介于8之间 和10位数。
有效手机:+123 / 8888888,+ 1/1234579284
手机无效:-123 / 8888888,+ 123/4 5 4444444,+ 123348585313, 123 \ 34553363587
我是否使用[RegularExpression()]
中的ComponentModel.DataAnnotations
或其他内容?
答案 0 :(得分:0)
我认为这段代码符合您的要求:
def getGeoInfo(name):
url = ('https://maps.googleapis.com/maps/api/geocode/json?address=%s,+PA'%name)
response = requests.get(url)
geoInfo = response.json()
答案 1 :(得分:0)
您可以在Phone属性的setter中使用正则表达式。
^\+\d{1,3}\/\d{8,10}$
打破这个局面:
^
:仅在字符串的开头匹配。\+
:匹配+,这需要转义。\d{1,3}
:匹配任意数字(0-9)1至3次。\/
:匹配/,这需要转义。\d{8,10}
:匹配任意数字(0-9)8至10次。$
:仅匹配字符串的结尾。示例代码:
private static Regex phoneRegex = new Regex(@"^\+\d{1,3}\/\d{8,10}$", RegexOptions.Compiled);
private string phone;
public string Phone {
get { return phone; }
set {
Match match = phoneRegex.Match(value);
if (match.Success) {
phone = value;
} else {
throw new ArgumentException("value");
}
}
}