参考网址:https://blog.csdn.net/lm1022/article/details/79050083
一.只可输入汉字、字母、数字和下划线
[^a-zA-Z0-9_\u{4e00}-\u{9fa5}]
swift使用步骤:
1.在String扩展里写上下面这个方法
// 只可输入汉字、字母、数字和下划线 的正则
extension String {
funcdeleteSpecialCharacters() ->String{
let pattern: String = "[^a-zA-Z0-9_\u{4e00}-\u{9fa5}]"
letexpress =try!NSRegularExpression(pattern: pattern, options: .caseInsensitive)
returnexpress.stringByReplacingMatches(in:self, options: [], range:NSMakeRange(0,self.count), withTemplate:"")
}
}
2.在需要的地方使用
@objcfuncgreetingTextFieldChanged(obj:Notification) {
lettextField:UITextField= obj.objectas!UITextField
guardlet_:UITextRange= textField.markedTextRangeelse{
/// 正则限制输入
letstr = textField.text??""
textField.text= str.deleteSpecialCharacters()
if(textField.text!asNSString).length>15{
self.viewDelegate?.showtoasts()
textField.text= (textField.text!asNSString).substring(to:15)
}
return
}
}
网友评论