//是否含表情符
func stringWithoutEmoji() -> String {
var array = [Int]()
var i = 0
for scalar in unicodeScalars {
switch scalar.value {
case
0x00A0...0x00AF,
0x2030...0x204F,
0x2120...0x213F,
0x2190...0x21AF,
0x2310...0x329F,
0x1F000...0x1F9CF:
array.append(i)
default:
print(i)
}
i += 1
}
var result: String = String(stringLiteral: self)
for index in array {
result.remove(at: self.index(self.startIndex, offsetBy: index))
}
return result
}
// 是否整形
func isIntNumber() -> Bool {
let rule = "^-?\\d+$"
let pred = NSPredicate(format:"SELF MATCHES %@", rule)
let isMatch = pred.evaluate(with: self)
return isMatch
}
// 是否浮点型
func isFloatNumber() -> Bool {
let rule = "^(-?\\d+)(\\.\\d+)?$"
let pred = NSPredicate(format:"SELF MATCHES %@", rule)
let isMatch = pred.evaluate(with: self)
return isMatch
}
// 纯数字
func isNumber() -> Bool {
let rule = "^[0-9]+$"
let pred = NSPredicate(format:"SELF MATCHES %@", rule)
let isMatch = pred.evaluate(with: self)
return isMatch
}
// 纯字母
func isLetter() -> Bool {
let rule = "^[A-Za-z]+$"
let pred = NSPredicate(format: "SELF MATCHES %@", rule)
let isMatch = pred.evaluate(with: self)
return isMatch
}
// 字母或数字:
func isNumberOrLetter() -> Bool {
let rule = "^[A-Za-z0-9]+$"
let pred = NSPredicate(format: "SELF MATCHES %@", rule)
let isMatch = pred.evaluate(with: self)
return isMatch
}
// 纯汉字
func isChiness() -> Bool {
let rule = "[\u{4e00}-\u{9fa5}]+$"
let pred = NSPredicate(format:"SELF MATCHES %@",rule)
let isMatch = pred.evaluate(with: self)
return isMatch
}
// 手机号
func isPhoneNumber() -> Bool {
let rule = "^0{0,1}(13[0-9]|15[3-9]|15[0-2]|18[0-9]|17[5-8]|14[0-9]|170|171|173)[0-9]{8}$"
let pred = NSPredicate(format: "SELF MATCHES %@", rule)
let isMatch = pred.evaluate(with: self)
return isMatch
}