2010-11-25 4 views
0

내가 WP7에 대한 응용 프로그램을 개발하고"."에 대해서만 정규 표현식 제한이 일치합니다. 어려움

new System.Text.RegularExpressions.Regex(@"\D\.{1}");

은 기본적으로 내가 double 허용 한 .에 입력 숫자 데이터에 대한 사용자를 원하는 내 정규식이 사용하고, 그것이 작동하는 경우에만 1 시간 사용자 입력하지만, 앱이 바로 또 다른 기간은이 (^$로 고정) 전체 문자열을 확인하고 "합법적"번호와 일치

답변

2

개인적으로 정규 표현식을 사용하지 않습니다. 물론

bool isInputGood(string input) { 
    double d; 
    return double.TryParse(input, out d); 
} 

,이 123.456.789 같은 것을 거부하지 않지만 응용 프로그램이 충돌이이와 123.456 e+5

+0

나는 동의한다. (몇 분 전에'double.TryParse()'를 사용하도록 제안했다.) – Lucero

+0

보통, StackOverflow에는 경쟁 조건이있다. 답변 게시는 스레드로부터 안전하지 않습니다. –

0
new System.Text.RegularExpressions.Regex(@"^\s*[0-9]+(\.[0-9]+)?\s*$"); 

을 추가로 충돌합니다.

소수 구분 기호가 다를 수 있으므로이 설정은 다른 지역 설정에서 실행될 수있는 응용 프로그램에서 사용하기에는 적합하지 않습니다. 대신 double.TryParse()을 입력하여 입력을 확인 하시겠습니까?

+0

같은 것을 받아 들일 것입니다 경우에도 하나의'.' 사용하고 난 단지 숫자에 대한 입력을 원하는 데이터. – Shishant

+0

"충돌"을 정의하십시오. 당신은 하나의 점만 물었습니다. 그것은 일치하는 점입니다. 하지만 그것을 숫자로 제한하기 위해 편집 할 것입니다 ... ;-) – Lucero

+0

크래시로 인해 앱이 닫히고 디버거에서 오류가 표시됩니다. – Shishant