first phone number normalization
This commit is contained in:
@ -18,21 +18,30 @@ defmodule ClipWeb.BoardLive do
|
|||||||
{:ok, assign(socket, snippet: "")}
|
{:ok, assign(socket, snippet: "")}
|
||||||
end
|
end
|
||||||
|
|
||||||
@impl true
|
defp normalize(pnumber, local_pref \\ "0351", country_pref \\ "0049") do
|
||||||
def handle_event("normalize", _, %{"snippet" => snippet} = socket) do
|
pnumber
|
||||||
|
|> String.replace(~r/^\s*\+/, "00")
|
||||||
|
|> String.replace(~r/\D/, "")
|
||||||
|
|> String.replace(~r/^00+/, "00")
|
||||||
|
|> String.replace(~r/^(?=[1-9])/, local_pref)
|
||||||
|
|> String.replace(~r/^0(?=[1-9])/, country_pref)
|
||||||
|
end
|
||||||
|
|
||||||
Phoenix.PubSub.broadcast(Clip.PubSub, "everybody", {:snippet_pasted, %{"snippet" => snippet}})
|
@impl true
|
||||||
|
def handle_event("normalize", _, %{assigns: %{snippet: snippet}} = socket) do
|
||||||
|
norm_snipp = normalize(snippet)
|
||||||
|
Phoenix.PubSub.broadcast(Clip.PubSub, "everybody", {:snippet_pasted, %{snippet: norm_snipp}})
|
||||||
{:noreply, assign(socket, snippet: snippet)}
|
{:noreply, assign(socket, snippet: snippet)}
|
||||||
end
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_event("paste", %{"snippet" => snippet}, socket) do
|
def handle_event("paste", %{"snippet" => snippet}, socket) do
|
||||||
Phoenix.PubSub.broadcast(Clip.PubSub, "everybody", {:snippet_pasted, %{"snippet" => snippet}})
|
Phoenix.PubSub.broadcast(Clip.PubSub, "everybody", {:snippet_pasted, %{snippet: snippet}})
|
||||||
{:noreply, assign(socket, snippet: snippet)}
|
{:noreply, assign(socket, snippet: snippet)}
|
||||||
end
|
end
|
||||||
|
|
||||||
@impl true
|
@impl true
|
||||||
def handle_info({:snippet_pasted, %{"snippet" => snippet}}, socket) do
|
def handle_info({:snippet_pasted, %{snippet: snippet}}, socket) do
|
||||||
{:noreply, assign(socket, snippet: snippet)}
|
{:noreply, assign(socket, snippet: snippet)}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user