Skip to content

Text & typing

NF.findNumbers

Extracts all phone number matches from a block of text.

Signatures

global static List<NF.Match> findNumbers(String text, String defaultRegion)

Default leniency. Use for most Notes, email body, and chatter scans.

global static List<NF.Match> findNumbers(String text, String defaultRegion, NF.Leniency leniency, Long maxTries)

Control strictness and work cap on very long strings.

Parameters

Parameters depend on the signature; see Signatures above.

NameTypeDescription
textStringNotes, email body, or any free text.
defaultRegionStringRegion for numbers without a + code.
leniencyNF.LeniencyMatching strictness (four-argument overload).
maxTriesLongCap on matcher work for long strings (four-argument overload).

Returns

List<NF.Match> ; may be empty. Each match has start(), end(), rawString(), number().

Throws

None.

libphonenumber

PhoneNumberUtil.findNumbers(CharSequence, String) / with Leniency and maxTries

Example

// Default overload
List<NF.Match> hits = NF.findNumbers(
'Call +1 650-253-0000 or +1 212-555-0101 today.',
'US'
);
// hits.size() → 2
// Strict overload on a long document
List<NF.Match> strict = NF.findNumbers(
longNotesBody,
'US',
NF.Leniency.EXACT_GROUPING,
1000L
);

NF.finder

Returns a traversable finder over matches (same results as NF.findNumbers).

Signatures

global static NF.Finder finder(String text, String defaultRegion)

Default leniency; iterate with hasNext() / next().

global static NF.Finder finder(String text, String defaultRegion, NF.Leniency leniency, Long maxTries)

Same as the four-argument NF.findNumbers overload, but lazy iteration.

Parameters

Returns

NF.Finder with hasNext() and next().

Throws

None.

libphonenumber

PhoneNumberUtil.findNumbers (materialized list in Apex)

Example

NF.Finder f = NF.finder('Reach us at +1 650-253-0000.', 'US');
while (f.hasNext()) {
NF.Match m = f.next();
// use m.number(), m.rawString()
}

NF.asYouType

Creates a stateful formatter for incremental digit entry (UI type-ahead).

Signatures

global static NF.AsYouType asYouType(String regionCode)

Parameters

NameTypeDescription
regionCodeStringDefault region while the user types in national format.

Returns

NF.AsYouType formatter instance.

Throws

None.

libphonenumber

PhoneNumberUtil.getAsYouTypeFormatter(String)

Example

NF.AsYouType fmt = NF.asYouType('US');
String display = fmt.inputDigit('6');
display = fmt.inputDigit('5');
display = fmt.inputDigit('0');
fmt.clear();

One result from NF.findNumbers / NF.finder.

MethodReturnsDescription
start()IntegerStart index in source text (0-based).
end()IntegerEnd index (exclusive).
rawString()StringMatched substring.
number()NF.PhoneParsed phone for the match.

libphonenumber: PhoneNumberMatch

MethodReturnsDescription
hasNext()BooleanMore matches available.
next()NF.MatchNext match (throws if none; check hasNext()).
MethodReturnsDescription
inputDigit(String)StringCurrent formatted display after one digit.
inputDigitAndRememberPosition(String)StringSame, and remembers caret position.
getRememberedPosition()IntegerCaret index for UI binding.
clear()voidReset formatter state.

libphonenumber: AsYouTypeFormatter