2012-07-06 2 views
0

자바 스크립트의 정규 표현식을 기반으로 텍스트의 유효성을 검사해야합니다. 내 정규식이 잘 작동하지만 Java 스크립트에서 작동하지 않는 이유를 찾을 수 없습니다.자바 스크립트를 사용하는 정규 표현식 유효화

정규 표현식은 ^([-+/*]\d+(\.\d+)?)*

유효한 표현은 +7 또는 +9.36*8 또는

test 또는 여기

8.36는 코드입니다

잘못된 일치,

var ck_diffrentialformula = /^([-+/*]\d+(\.\d+)?)*/; 

      function radtxtbxLinkedDifferentialFormulaOnBlur(sender, eventArgs) { 
       if (sender.get_value().length > 0) { 

        var entered_value = sender.get_value(); 

        if (ck_diffrentialformula.test(entered_value)) { 
        alert('Text Matches'); 
        } 
        else { 
        alert('Text does not match'); 
        } 
       } 
      } 

sender.get_value() - gives the text box value over here. 

+4-9.3/5.0이다,이 제발입니다 내가 어디 있는지 말해. 잘못하고있다.

+0

경고를 받고 있습니까? – 1Mayur

+0

유효성을 검사해야하는 실제 데이터의 예를 제공하십시오 (유효하고 잘못된 예가 가장 좋습니다). – lanzz

+1

'sender.get_value()'의 가치를 대단히 (그리고 당신이 기대하는 것) 알 수있게 도와 줄 것입니다. –

답변

1

은 아마 당신은이 표현을 시도합니다.

+0

고마워, 그냥 여분의 이스케이프 문자를 추가해야합니다. 올바른 정규식은'/^([\ - + \/\ * \ d + (\. \ d +)?] * $ /' – Bibhu

2

난 당신이 이런 식으로 뭔가를 사용하고 있으리라 믿고있어 :

<input type="text" onchange="radtxtbxLinkedDifferentialFormulaOnBlur(this,null)" /> 

sender은 그래서 심지어 작동하지 않습니다있는 방법 .get_value()이 없습니다. 그것을 대체하면 효과가있는 것 같습니다. "-"/^([\-+\/*]\d+(\.\d+)?)*$/
그것은 탈출 "/"정규식 내에서 (jsbin 그것을 제안)와 (끝 $) 전체 문자열을 고려 :

function radtxtbxLinkedDifferentialFormulaOnBlur(sender, eventArgs) { 
    console.log(sender) 
    if (sender.value.length > 0) { 
     console.log(sender.value); 
     if (ck_diffrentialformula.test(sender.value)) { 
     console.log('Text Matches'); 
     } 
     else { 
     console.log('Text does not match'); 
     } 
    } 
} 
+0

내 질문에 업데이트 된, 'sender.get_value()'사용하여 텍스트 상자 값을 가져 오는 및 값을 또한 오는 – Bibhu

+0

그래서'sender.getValue()'올바른 값을 반환합니다 ... 당신이 남긴 것은 모두 if 문입니다. 구문이 유효합니다. 다른 무엇인가 잘못되었습니다. 우리에게 getvalue 코드를 보여줍니다. – sachleen

+0

'sender.getValue()'는 올바른 값을 반환합니다. 경고 상자를 사용하여 체크했습니다. – Bibhu