簡體   English   中英

Scala spark數據框電話號碼驗證

[英]Scala spark data frame phone number validation

我想對下面提到的電話號碼列執行一些驗證,然后用“Y”(當號碼看起來有效時)或“N”(當無效時)更新“正確”列。

在此處輸入圖像描述

val df = Seq[(String)]("", "  ", null, "123456789a", "1111111111", "1.3-4567 80", " 1.23-4567 890 ", "1234567890").toDF("PhoneNumber")

val trimmed = regexp_replace(trim($"PhoneNumber"), "[ .-]", "")
val correct = trimmed.rlike(raw"\d{10,}") && 
              !(trimmed.rlike(raw"^(\d)\1*$$"))
val df2 = df.withColumn("Correct", when(correct, "Y").otherwise("N"))
 
df2.show()
// +---------------+-------+
// |    PhoneNumber|Correct|
// +---------------+-------+
// |               |      N|
// |               |      N|
// |           null|      N|
// |     123456789a|      N|
// |     1111111111|      N|
// |    1.3-4567 80|      N|
// | 1.23-4567 890 |      Y|
// |     1234567890|      Y|
// +---------------+-------+

trim($"PhoneNumber")刪除前導和尾隨空格
regexp_replace(..., "[ .-]", "")刪除空格、點和逗號
.rlike(raw"\d{10,}")檢查 10 位或更多位
!(....rlike(raw"^(\d)\1*$$"))檢查所有相同的數字

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM