Sha256: e1df08c3171a8321aa0bc0c06beaae08b629ea83ab6261f7cb89569f7b6e999b

Contents?: true

Size: 511 Bytes

Versions: 151

Compression:

Stored size: 511 Bytes

Contents

open Core

let check_valid_first_digits s =
  if s.[0] = '0' || s.[0] = '1' || s.[3] = '0' || s.[3] = '1'
  then None
  else Some s

let number s =
  if not @@ String.is_empty (String.filter ~f:(Char.is_alpha) s)
  then None
  else
    let s = String.filter ~f:(Char.is_digit) s in
    match String.length s with
    | 10                            -> check_valid_first_digits s
    | 11 when String.get s 0 = '1'  -> check_valid_first_digits (String.drop_prefix s 1)
    | _                             -> None

Version data entries

151 entries across 151 versions & 1 rubygems

Version Path
trackler-2.2.1.110 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.109 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.108 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.107 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.106 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.105 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.104 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.103 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.102 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.101 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.100 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.99 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.98 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.97 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.96 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.95 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.94 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.93 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.92 tracks/ocaml/exercises/phone-number/example.ml
trackler-2.2.1.91 tracks/ocaml/exercises/phone-number/example.ml