Sha256: 6c3f212e5ee367747d3493c6e1febbbbe36e71a115466c538b8b951342e8b1ba
Contents?: true
Size: 581 Bytes
Versions: 126
Compression:
Stored size: 581 Bytes
Contents
data class PhoneNumber(private val rawNumber: String) { companion object { private val invalidChars = Regex("[^\\d() -.]") private val digitsValidationRegex = Regex("^1?([2-9]\\d{2}[2-9]\\d{6})$") } val number: String? init { val containsInvalidChar = invalidChars.containsMatchIn(rawNumber) if (containsInvalidChar) { number = null } else { val digits = rawNumber.replace(Regex("[^\\d]"), "") number = digitsValidationRegex.matchEntire(digits)?.groupValues?.last() } } }
Version data entries
126 entries across 126 versions & 1 rubygems