想定した値以外を保存されると困る事があったので、許容した値(半角数字)かどうかを判定する方法を紹介します。
半角数字のみ許容する
半角数字かどうかを判定する為に、class外に以下を記述します。
extension String {
// 半角数字の判定
func isAlphanumeric() -> Bool {
return self.range(of: "[^0-9]", options: .regularExpression) == nil && self != ""
}
}
半角数字のみならtrue 半角数字以外が含まれる場合はfalseが返ってきます。
なのでデータ保存時に
setTextField.text?.isAlphanumeric() == true
とする事で「半角数字のみが含まれているか」判定することが可能です。
半角数字と.(ドット)を許容する
extension String {
// 半角数字とドットの判定
func isAlphanumeric() -> Bool {
return self.range(of: "[^.0-9]", options: .regularExpression) == nil && self != ""
}
}
半角英数字のみ許容する
extension String {
// 半角数字とドットの判定
func isAlphanumeric() -> Bool {
return self.range(of: "[^a-zA-Z0-9]", options: .regularExpression) == nil && self != ""
}
}
メソッドを使用する事で簡単に判定が出来ました。
コメント