1

我需要一个接受的验证文本框,像这样 $250.00 这里是 '$' 只会接受一次,然后永远不会接受 '$' 以及 '.'(点)。

4

4 回答 4

0

您可以使用掩码输入,例如您的掩码是

$('#input').mask('$9?.99');
于 2012-11-07T14:28:37.660 回答
0

你可以做:

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

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

正则表达式/^\$[0-9]+\.[0-9]+$/匹配任何满足以下约束的字符串

  • 应该从一个$
  • 应该有1 or more numbers$
  • .在第一组数字之后应该有一个
  • 应该在1 or more numbers之后结束.
于 2012-11-07T14:29:09.797 回答
0

jquery是一个选项吗?

这是一个jQuery解决方案。首先,我不会验证期望用户输入'$'。我会把它放在表格之外,只允许人们输入金额。这很奇怪,但我想我真的不知道你在做什么。请参阅Jquery 验证

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

这是使用数字只允许数字。否则,如果你真的需要 $ ,你需要创建一个自定义验证规则

于 2012-11-07T14:36:51.813 回答
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>

当然你也可以使用纯java脚本来减少依赖

<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>
于 2012-11-07T14:51:45.967 回答