iOS中判断是否是手机号

一、流程图

graph TB
A(开始) --> B{输入手机号}
B --> C{判断手机号格式}
C -->|格式正确| D(输出“是手机号”)
C -->|格式错误| E(输出“不是手机号”)

二、步骤及代码

1. 输入手机号

let phoneNumber = "13812345678"

在代码中定义一个字符串变量phoneNumber,将需要判断的手机号赋值给它。

2. 判断手机号格式

let regex = "^1[3456789]\\d{9}$"
let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
let isPhoneNumber = predicate.evaluate(with: phoneNumber)

使用正则表达式来判断手机号的格式是否正确。以上代码分为三步:

  1. 定义一个字符串变量regex,其值为手机号的正则表达式。这里的正则表达式是以1开头,第二位是3、4、5、6、7、8、9中的一个,后面跟着9位数字。
  2. 创建一个NSPredicate对象predicate,通过传入格式为SELF MATCHES %@的谓词格式和正则表达式regex,来生成一个谓词对象。
  3. 通过调用evaluate(with:)方法,将手机号phoneNumber和谓词对象predicate进行匹配,得到一个布尔值isPhoneNumber,表示手机号是否符合格式要求。

3. 输出判断结果

if isPhoneNumber {
    print("是手机号")
} else {
    print("不是手机号")
}

根据判断结果,输出相应的信息。如果isPhoneNumbertrue,则输出“是手机号”,否则输出“不是手机号”。

三、完整代码示例

let phoneNumber = "13812345678"
let regex = "^1[3456789]\\d{9}$"
let predicate = NSPredicate(format: "SELF MATCHES %@", regex)
let isPhoneNumber = predicate.evaluate(with: phoneNumber)

if isPhoneNumber {
    print("是手机号")
} else {
    print("不是手机号")
}

以上代码完整地展示了如何在iOS中判断是否是手机号。首先,我们定义一个字符串变量phoneNumber,然后使用正则表达式来判断手机号的格式是否正确。最后,根据判断结果输出相应的信息。

希望这篇文章能够帮助到你,如果有任何问题,请随时向我提问。