mirror of
https://github.com/ZuneDev/ZuneShell.dll.git
synced 2026-07-27 13:11:51 -07:00
70 lines
2.3 KiB
C#
70 lines
2.3 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: ZuneUI.PhoneNumberDescriptors
|
|
// Assembly: ZuneShell, Version=4.7.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
|
// MVID: FC8028F3-A47B-4FB4-B35B-11D1752D8264
|
|
// Assembly location: C:\Program Files\Zune\ZuneShell.dll
|
|
|
|
using System.Text;
|
|
|
|
namespace ZuneUI
|
|
{
|
|
public class PhoneNumberDescriptors : CountryFieldValidationPropertyDescriptor
|
|
{
|
|
public PhoneNumberDescriptors(string name, CountryFieldValidatorType type)
|
|
: base(name, type)
|
|
{
|
|
}
|
|
|
|
public bool Split(string value, out string areaCode, out string number)
|
|
{
|
|
value = RemoveNonDigits(value);
|
|
if (value.Length >= 10)
|
|
{
|
|
number = value.Substring(value.Length - 7, 7);
|
|
areaCode = value.Substring(value.Length - 10, 3);
|
|
return true;
|
|
}
|
|
areaCode = string.Empty;
|
|
number = string.Empty;
|
|
return false;
|
|
}
|
|
|
|
public string Combine(string areaCode, string number)
|
|
{
|
|
string str = null;
|
|
if (!string.IsNullOrEmpty(number))
|
|
{
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
if (!string.IsNullOrEmpty(areaCode))
|
|
{
|
|
stringBuilder.Append(areaCode);
|
|
stringBuilder.Append('-');
|
|
}
|
|
if (number.Length >= 7)
|
|
{
|
|
stringBuilder.Append(number.Substring(0, 3));
|
|
stringBuilder.Append('-');
|
|
stringBuilder.Append(number.Substring(3));
|
|
}
|
|
else
|
|
stringBuilder.Append(number);
|
|
str = stringBuilder.ToString();
|
|
}
|
|
return str;
|
|
}
|
|
|
|
private static string RemoveNonDigits(string value)
|
|
{
|
|
if (value == null)
|
|
return string.Empty;
|
|
StringBuilder stringBuilder = new StringBuilder(value.Length);
|
|
for (int index = 0; index < value.Length; ++index)
|
|
{
|
|
if (char.IsDigit(value[index]))
|
|
stringBuilder.Append(value[index]);
|
|
}
|
|
return stringBuilder.ToString();
|
|
}
|
|
}
|
|
}
|