2014-10-14 2 views
0

제 질문은 간단하다고 생각합니다.
하나의 버튼을 클릭 할 때 작은 문자 확인 만하면됩니다. 이러한 텍스트 상자에 쉼표가 둘 이상인 경우 메시지가 필요합니다. "오류. 상자에 쉼표를 하나만 넣으십시오."
검색했지만 찾지 못했습니다. 누군가 나를 도울 수 있습니까? 모두 미리 감사드립니다!텍스트 상자에 쉼표가 두 개 이상 있는지 확인하는 방법은 무엇입니까?

+2

"잘못된 인증"이라고 말하지 마십시오. 그러면 사용자가 혼동을 일으킬 수 있습니다. 사용자는 유효성 검사의 의미가 무엇인지 모를 것입니다. – mason

+0

'bool hascomma = "no comma here".Count (a => a == ',')> 1;'false를 반환합니다 (이것은 LINQ를 사용합니다) – RadioSpace

+0

이 문제는 링크 된 계산 방법을 사용하여 해결할 수 있습니다 (및 이전에 중복 표시된) Q & A를 사용하여 "둘 이상"에 대한 테스트는 모두 계산하는 것보다 효율적인 솔루션을 제공합니다. –

답변

5

POST에 따르면

당신은 명시 적 계산없이 문자열에 하나 개 이상의 특정 문자가 있는지 확인하기 위해 lastIndexOf에서도 할 같이 IndexOf를 비교할 수 있습니다

: 귀하의 경우

var s = "12121.23.2"; 
var ch = '.'; 
if (s.IndexOf(ch) != s.LastIndexOf(ch)) { 
    ... 
} 

:

var s = "Comma, another comma, something."; 
var ch = ','; 
if (s.IndexOf(ch) != s.LastIndexOf(ch)) { 
    ... 
} 

문자열 (Textbox.Text)에 다른 쉼표가 있는지 확인하면 부울을 설정할 수 있습니다.

위에 나열된 질문에 대한 답변은 POST입니다.

의견에 언급 된대로 .Count()을 사용할 수 있습니다. 더 많은 것을 위해 HERE를보십시오.

+0

그게 흥미로운 해결책이고 작동 하겠지만, 쉼표의 수를 0 또는 1로 제한하고 싶기 때문에'.Count()> 1'을 사용하면 그의 의도와 더 가깝게 일치합니다 그의 의도가 무엇인지 알기 위해 그것을 유지해야하는 다른 사람을 위해). –

+0

@GrantWinney 귀하의 의견에 진심으로 감사드립니다. 나는 또한 다른 솔루션들과 더 많은 게시물을 연결하려고 시도했다. –

+0

이 방법을 사용하여 잘 작업했습니다. 고맙습니다. :) – Hypister

관련 문제