Skip to main content
Skip table of contents

splitPhoneNumber

Versionshinweise

24.4

Code

GROOVY
IPhoneNumber splitPhoneNumber(String String)

Beschreibung

Teilt und bereinigt den übergebenen String in eine valide Telefonnummer.
Es werden nur Zahlen in die Telefonnummer übernommen.
Eine formattierte Eingabe im übergebenen String resultiert in besseren Ergebnissen, auch wenn einfach nur Leerzeichen zwischen den Zahlen eingefügt wurden.

Parameter:
  • String - Der String, der die Telefonnummer beinhaltet.

Rückgabe

Die IPhoneNumber, die die erkannten Teile der Telefonnummer enthält.

Beispiele

GROOVY
@Test
void testSplitPhoneNumber()
{
  String no1 = "Telefon: +49 (0641) 4 00 00 - 12 34 ";
  Assertions.assertEquals("+49 (641) 40000 - 1234", getPhoneNumber(no1), "Test1");
  String no2 = "Telefon: +49 (0641) 1 00 00 - 65 66 a! b!";
  Assertions.assertEquals("+49 (641) 10000 - 6566", getPhoneNumber(no2), "Test2");
  String no3 = "Test +49 0641 4 6 5 8 9 - 6 5 dfgh";
  Assertions.assertEquals("+49 (641) 46589 - 65", getPhoneNumber(no3), "Test3");
  String no4 = "Test 0641 46 58 9 65";
  Assertions.assertEquals("(0641) 46589 - 65", getPhoneNumber(no4), "Test4");
  String no5 = "46 58 9 65";
  Assertions.assertEquals("+46 (58) 9 - 65", getPhoneNumber(no5), "Test5");
  String no6 = "4658965";
  Assertions.assertEquals("4658965", getPhoneNumber(no6), "Test6");
  String no7 = "a4b6c5d8e9f6g5h"; // not recognized
  Assertions.assertEquals("", getPhoneNumber(no7), "Test7");
  String no8 = "a +49641c5d8e9f6g5h";
  Assertions.assertEquals("+49641", getPhoneNumber(no8), "Test8");
  String no9 = "a -666 h";
  Assertions.assertEquals("666", getPhoneNumber(no9), "Test9");
  String no10 = "a 1111-666 h";
  Assertions.assertEquals("(1111) 666", getPhoneNumber(no10), "Test10");
}

private String getPhoneNumber(String potentialNumber)
{
  IPhoneNumber myNumber = LogicScriptUtils.splitPhoneNumber(potentialNumber);

  String number = "";
  number += ScriptUtils.isEmpty(LogicScriptUtils.getPhoneCountry(myNumber)) ? "" : LogicScriptUtils.getPhoneCountry(myNumber);
  number += ScriptUtils.isEmpty(LogicScriptUtils.getPhoneCity(myNumber)) ? "" : " (" + LogicScriptUtils.getPhoneCity(myNumber) + ")";
  number += ScriptUtils.isEmpty(LogicScriptUtils.getPhoneBase(myNumber)) ? "" : " " + LogicScriptUtils.getPhoneBase(myNumber);
  number += ScriptUtils.isEmpty(LogicScriptUtils.getPhoneExtension(myNumber)) ? "" : " - " + LogicScriptUtils.getPhoneExtension(myNumber);
  return number.trim();
}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.