object Main {
def main(args: Array[String]): Unit = {
// 更全面的手机号正则(包含所有当前有效的号段)
val reg = "^1(3[0-9]|4[5-9]|5[0-3,5-9]|6[2567]|7[0-8]|8[0-9]|9[0-3,5-9])\\d{8}$".r
val testNumbers = List(
"13012345678", // 有效
"14512345678", // 有效
"15012345678", // 有效
"16612345678", // 有效
"17112345678", // 有效
"18812345678", // 有效
"19912345678", // 有效
"12012345678", // 无效
"14912345678" // 无效
)
println("手机号验证结果:")
testNumbers.foreach { number =>
println(s"$number : ${if (reg.findFirstIn(number).isDefined) "有效" else "无效"}")
}
}
}
val reg = "^1[3-9]\d{9}$".r
解释:
^:字符串开始1:以1开头[3-9]:第二位是3-9之间的数字\d{9}:后面跟9个数字
$:字符串结束
完整的Scala代码示例:
scala
object Main {
def main(args: Array[String]): Unit = {
val reg = "^1[3-9]\d{9}$".r
// 测试手机号
val testNumbers = List(
"13812345678", // 有效
"13912345678", // 有效
"15012345678", // 有效
"19912345678", // 有效
"12012345678", // 无效:第二位是2
"11234567890", // 无效:第二位是1
"1381234567", // 无效:只有10位
"138123456789" // 无效:有12位
)
println("手机号验证结果:")
testNumbers.foreach { number =>
println(s"$number : ${if (reg.findFirstIn(number).isDefined) "有效" else "无效"}")
}
}
}
运行结果:
text
手机号验证结果:
13812345678 : 有效
13912345678 : 有效
15012345678 : 有效
19912345678 : 有效
12012345678 : 无效
11234567890 : 无效
1381234567 : 无效
138123456789 : 无效