2013-06-01 1 views
2

preg_match으로 일부 텍스트를 확인하려고합니다.preg_match로 텍스트 형식 확인

텍스트 형식 번호는 예를 들어

",",없는 문자 또는 다른 어떤

단지 숫자 +로 구분된다

: 10,50,30

내가이 체크 인하하고 싶은 말은하자

20,300,60 //ok 
50 //ok..yes, ok even if there is no "," because there is no other number after it. 
40,,60,60 // not ok..double "," 
55,411, //not ok..contain "," at the end 
70,800 //ok 

나는이 물건을 열기 전에 많은 것을 실제로 시도하고 2 시간을 낭비했다.

아무쪼록 바랍니다.

감사합니다.

if (preg_match('/^\d+(,\d+)*$/', $string)) { 
    // Matches 
} else { 
    // Does not match 
} 

사용, 다음 식 분수를 일치 시키려면 :

답변

2

당신은 정규 표현식 /^\d+(,\d+)*$/ 사용할 수 있습니다

 
/^\d+(?:\.\d+)?(,\d+(?:\.\d+)?)*$/ 
+0

경고 : preg_match() [function.preg-match] : 끝 구분 기호 '^'가 없습니다. – user2203703

+0

숫자가 1 미만인 경우를 제외하고는 완벽하게 작동합니다. 예 : 20,300,60,0.80 // 괜찮을 거에요.하지만 생각이 안 들니? 덕분에 – user2203703

+0

도와 주셔서 대단히 감사합니다. – user2203703

0
preg_match('/^[0-9][0-9,]*$/', $string) 

이 ... 또한 무엇을 달성 할 것이다 당신 그러나 우리가 영어로 사용하는 아라비아 숫자를 사용하므로 대부분의 국가에서 너무 많은 문제가 될 것이라고 생각하지 않습니다. 모든 최선을 다해 당신을 위해 잘되기를 바랍니다.

+0

정규식이 문자열',,, '을 말합니다. –

+0

"55,411, // not ok..contain", "at the end". 그리고 단항 기호에 대한 추가 [+ -]는 어떨까요? :) – bartimar