2012-11-07 1 views
1

이 $ 250.00처럼 허용되는 유효성 검사 텍스트 상자가 필요합니다. '$'는 한 번만 허용되고 '$'는 허용되지 않으며 '.'(점)는 허용되지 않습니다.JavaScript에서 TextBox를 확인하십시오.

+0

당신이 어떤 일을 시도해야 의존성을 줄일뿐만 아니라 순수 자바 스크립트를 사용할 수 있습니다 ?? –

+1

Regex는 당신의 친구입니다. http://www.regular-expressions.info – techfoobar

답변

0

당신은 당신의 마스크

$('#input').mask('$9?.99'); 
0

당신은 할 수있을 것 masked input 예를 에 사용할 수 있습니다

var x = document.getElementById('your-text-box').value; 

if(x.match(/^\$[0-9]+\.[0-9]+$/) == null) { 
    // invalid 
} 
else { 
    // valid 
} 

정규식 /^\$[0-9]+\.[0-9]+$/ 것이다 경기 문자열 회의 다음과 같은 제약을

  • 가 JQuery와 옵션 인 .
0

1 or more numbers로 끝나야 번호의 첫 번째 집합 후 .이 있어야 $

  • 1 or more numbers을해야 $
  • 시작해야할까요?

    다음은 jquery 솔루션입니다. 우선 나는 사용자가 '$'를 넣을 것을 기대하지 않는다. 저는 그것을 양식 외부에두고 사람들이 그 금액을 입력하도록 허용 할 것입니다. 그건 이상한 일이지만, 내가하고있는 일에 대해 실제로 컨텍스트가 없다고 생각합니다. Jquery validation 참조 :이 숫자 만 허용하는 digits을 사용

    $("#myform").validate({ 
        rules: { 
        field: { 
         required: true, 
         digits: true 
        } 
    } 
    }); 
    

    . 그렇지 않으면 실제로 $가 필요하면 custom validation rule을 만들어야합니다. 물론

  • 0
    <!-- wherever your jquery file is -->  
    <script src="../../jquery.min.js"></script> 
    <input type="text" id="cost"><input type="button" id="check" value="Check!"> 
    <script> 
    
    // jquery solution 
    
    $(document).ready(function(){ 
        $('#check').click(function(){ 
          var cost = $('#cost').val(); 
          var patt=/^(\$)?\d+(\.\d+)?$/; 
          var result=patt.test(cost); 
          alert(result); 
          }); 
    
    }); 
    
    </script> 
    

    당신은

    <input type="text" id="cost"> 
    <input type="button" id="check" value="Check!" onClick="check();"> 
    <script> 
    
    // Pure Javascript Solution 
    
    var check = function(){ 
        var cost = document.getElementById('cost').value; 
        var patt=/^(\$)?\d+(\.\d+)?$/; 
        var result=patt.test(cost); 
        alert(result); 
    
    } 
    </script> 
    
    관련 문제