반응형
NSCharacterSet : alphanumericCharacterSet 텍스트 제한에“_”를 어떻게 추가합니까?
사용자 이름을 입력하기 위해 UITextField를 제한하는 NSCharacter 세트 빌드. 사용자가 밑줄 (예 : [A-Za-z0-9_])도 입력 할 수 있기를 원하지만 alphanumericCharacterSet에는이를 포함하지 않습니다. 짧은 형식으로 범위를 지정하는 방법이 있습니까? 나는 + (id)characterSetWithRange:(NSRange)aRange
봤지만 그것이 어떻게 작동하는지 정말로 이해하지 못한다.
문자 집합을 전달하는 간단한 UITextField 하위 클래스가 있습니다. 제한은 제대로 작동하며 사용자가 영숫자 이외의 항목을 입력 할 수 없습니다. 해당 수당에 "_"를 추가하기 만하면됩니다.
NSCharacterSet *characterSet = [NSCharacterSet alphanumericCharacterSet];
[textField setAllowed:characterSet];
[textField setFrame:frame];
목표 -C
NSMutableCharacterSet *_alnum = [NSMutableCharacterSet characterSetWithCharactersInString:@"_"];
[_alnum formUnionWithCharacterSet:[NSCharacterSet alphanumericCharacterSet]];
빠른
let _alnum = NSMutableCharacterSet(charactersIn: "_")
_alnum.formUnion(with: .alphanumerics)
또 다른 방법은 변경 가능하게 만들고 추가하는 것입니다.
목표 -C
NSMutableCharacterSet *characterSet = [NSMutableCharacterSet alphanumericCharacterSet];
[characterSet addCharactersInString:@"_"];
빠른
let characterSet = NSMutableCharacterSet.alphanumeric()
characterSet.addCharacters(in: "_")
다음을 사용하여 플레이 그라운드에서 추가되었는지 확인할 수 있습니다.
characterSet.characterIsMember(UInt16(Character("^").unicodeScalars.first!.value)) // false
characterSet.characterIsMember(UInt16(Character("_").unicodeScalars.first!.value)) // true -- YAY!
characterSet.characterIsMember(UInt16(Character("`").unicodeScalars.first!.value)) // false
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSCharacterSet *blockedCharacters = [[NSCharacterSet whitespaceCharacterSet] invertedSet];
NSCharacterSet *blockedCharacters2 = [[NSCharacterSet letterCharacterSet] invertedSet];
return ([string rangeOfCharacterFromSet:blockedCharacters].location == NSNotFound || [string rangeOfCharacterFromSet:blockedCharacters2].location);
}
반응형
'your programing' 카테고리의 다른 글
낮은 권한으로 PL-SQL을 사용하여 Oracle에서 열 데이터 유형을 얻으려면 어떻게해야합니까? (0) | 2021.01.05 |
---|---|
android sdk main.out.xml 파싱 오류? (0) | 2021.01.05 |
Google MAP API v3 : 표시된 마커의 중앙 및 확대 / 축소 (0) | 2021.01.05 |
특정 열의 값이 다른 열의 값보다 작은 경우 행만 선택 (0) | 2021.01.05 |
Rails 3에서 최신 기록 찾기 (0) | 2021.01.05 |