텍스트 상자에서 크리켓 오버의 유효성을 검사하기 위해 정규 표현식을 사용해야하는 이유를 알려주십시오. 는 5.1, 5.2,5.3,5.4,5.5 수 있지만이 0.5보다 큰 분수 값을 포함하지 않아야처럼, 또한 값은 숫자이어야한다 전용 (부동 소수점과 int)를크리켓 오버에 대한 정규 표현식을 만드는 방법
감사
텍스트 상자에서 크리켓 오버의 유효성을 검사하기 위해 정규 표현식을 사용해야하는 이유를 알려주십시오. 는 5.1, 5.2,5.3,5.4,5.5 수 있지만이 0.5보다 큰 분수 값을 포함하지 않아야처럼, 또한 값은 숫자이어야한다 전용 (부동 소수점과 int)를크리켓 오버에 대한 정규 표현식을 만드는 방법
감사
당신이 사용해야합니다 : 당신이 대신 0.2
의 .2
같은 분수를 원하는 경우
^[0-9]+(\.(50*|[0-4][0-9]*))?$
를, 이것을 사용 : 0
^[0-9]*(\.(50*|[0-4][0-9]*))?$
는 설명 : 예를 들어
/[0-9]+(\.[0-5])?/.test("0.8")
사실 산출 때문에
^ beginning of the string
[0-9]* repeat 0 or more digits
(
\. match the fraction point
(
50* match .5, or .5000000 (any number of zeros)
| or
[0-4][0-9]* anything smaller than .5
)
)? anything in this parenthesis is optional, for integer numbers
$ end of the string
버전, [0-9]+(\.[0-5])?
는, 불행히도 작동하지 않습니다.
이 시도 :
<script type="text/javascript">
var testString = '5.4';
var regExp = /^\d+(\.[1-5])?$/;
if(regExp.test(testString))
{
// Do Something
}
</script>
테스트에서 일치하는 항목이 50 개 이상인 경우 (웃음) –
게시물을 업데이트했습니다. OP가 일치하는 형식 (하루, 테스트, 20-20)을 지정할 수있는 경우 동일한 형식으로 다시 추가 할 수 있습니다. – Chandu
salman 진짜 영웅 .. –
<script type="text/javascript">
var pattern = /^\d+(\.[0-5])?$/;
var overs = [
'0',
'0.0',
'1.1',
'1.2',
'1.5',
'1.6',
'2',
'2.0',
'2.10',
'50',
'50.1',
'100'
];
for (var i = 0; i < overs.length; i++) {
var over = overs[i];
console.log(over + (pattern.test(over) ? ' is valid' : ' is in-valid'));
}
</script>
'2.10 is in valid' –
예. 그리고 그건*. 참조 : http://en.wikipedia.org/wiki/Over_%28cricket%29 –
빠른 답장을 보내 주셔서 감사합니다. 그것의 일하는 벌금 그러나 직면 한 문제점. "66.555"와 같은 가치를 입력 할 수있게 해줍니다. 우리가 알고 있듯이 초과는 분수 값으로 1 값을 포함해야합니다. –
나는 당신의 표정을 바꿔서 "[0-9] + (\. [0-5])?"라는 것을 발견했습니다. 잘 작동합니다. 올바른지 확인하십시오 .. thanks –
@Rajesh Rolen- DotNet Developer가 지금 업데이트되었습니다. 좀 더 복잡하지만'0.5000000','0.4999','.5','5' 등 거의 모든 것에서 작동합니다. –