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)
使用正则表达式来判断手机号的格式是否正确。以上代码分为三步:
- 定义一个字符串变量
regex
,其值为手机号的正则表达式。这里的正则表达式是以1开头,第二位是3、4、5、6、7、8、9中的一个,后面跟着9位数字。 - 创建一个
NSPredicate
对象predicate
,通过传入格式为SELF MATCHES %@
的谓词格式和正则表达式regex
,来生成一个谓词对象。 - 通过调用
evaluate(with:)
方法,将手机号phoneNumber
和谓词对象predicate
进行匹配,得到一个布尔值isPhoneNumber
,表示手机号是否符合格式要求。
3. 输出判断结果
if isPhoneNumber {
print("是手机号")
} else {
print("不是手机号")
}
根据判断结果,输出相应的信息。如果isPhoneNumber
为true
,则输出“是手机号”,否则输出“不是手机号”。
三、完整代码示例
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
,然后使用正则表达式来判断手机号的格式是否正确。最后,根据判断结果输出相应的信息。
希望这篇文章能够帮助到你,如果有任何问题,请随时向我提问。