Programming

숫자 (0-9) 만 허용하고 문자는 허용하지 않는 정규식

procodes 2020. 6. 29. 21:11
반응형

숫자 (0-9) 만 허용하고 문자는 허용하지 않는 정규식


이 질문에는 이미 답변이 있습니다.

0-9의 숫자 만 허용하고 다른 것은 허용하지 않는 정규식이 필요합니다. 글자도없고 글자도 없습니다.나는 이것이 효과가 있다고 생각했다.

^[0-9]

또는

\d+

그러나 이들은 ^, $, (,) 등의 문자를 받아들입니다.위의 두 정규 표현식이 트릭을 수행 할 것이라고 생각했는데 왜 그 문자를 받아 들일지 잘 모르겠습니다.편집하다:이것은 내가하고있는 일입니다.

 private void OnTextChanged(object sender, EventArgs e)
    {

   if (!System.Text.RegularExpressions.Regex.IsMatch("^[0-9]", textbox.Text))
        {
            textbox.Text = string.Empty;
        }
    }

이것은 위에서 언급 한 문자를 허용합니다.


정규식 은 "1A"와 같은 문자열을 포함하여 숫자로 시작 하는

^[0-9]

모든 항목과 일치 합니다. 부분적으로 일치하지 않도록하려면 끝에 a 추가하십시오 .

$

 

^[0-9]*$

이것은 숫자를 포함하여 모든 자릿수를 허용합니다. 하나 개 이상의 숫자를 수락하려면 변경

*

+

. 정확히 한 자리를 허용하려면을 제거하십시오

*

.

업데이트 :

에 인수를 섞었습니다

IsMatch

. 패턴은 첫 번째 인수가 아닌 두 번째 인수 여야합니다.

if (!System.Text.RegularExpressions.Regex.IsMatch(textbox.Text, "^[0-9]*$"))

주의 :

JavaScript에서는 .NET

\d

과 동일

[0-9]

하지만 .NET에서는

\d

기본적으로 ႒ (미얀마 2) 및 ߉ (N'Ko 9)와 같은 이국적인 운임을 포함하여 모든

유니 코드 10 진수

와 일치합니다 . 앱에서 이러한 문자를 처리 할 준비가되어 있지 않으면 RegexOptions.ECMAScript 플래그를

[0-9]

제공하십시오 .참고 URL :

https://stackoverflow.com/questions/19715303/regex-that-accepts-only-numbers-0-9-and-no-characters

반응형