验证JavaScript中的文本框

验证JavaScript中的文本框,javascript,Javascript,我需要一个被接受的验证文本框,比如$250.00这里是“$”只接受一次,然后再也不接受“$”和“.”(点)。您可以使用一个示例 你的面具会是 $('#input').mask('$9?.99'); 你可以做: var x = document.getElementById('your-text-box').value; if(x.match(/^\$[0-9]+\.[0-9]+$/) == null) { // invalid } else { // valid } 正则表达式

我需要一个被接受的验证文本框,比如$250.00这里是“$”只接受一次,然后再也不接受“$”和“.”(点)。

您可以使用一个示例 你的面具会是

$('#input').mask('$9?.99');
你可以做:

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

if(x.match(/^\$[0-9]+\.[0-9]+$/) == null) {
   // invalid
}
else {
   // valid
}
正则表达式
/^\$[0-9]+\.[0-9]+$/
将匹配满足以下约束的任何字符串

  • 应该以
    $
  • $
  • 在第一组数字之后应该有一个
  • 应在
    之后以
    1个或多个数字结尾
jquery是一个选项吗

下面是一个jquery解决方案。首先,我不会验证期望用户放置“$”的有效性。我会把它放在表格之外,只允许人们输入金额。这很奇怪,但我想我不太了解你在做什么。见:

这用于仅允许数字。否则,如果您确实需要$in,则需要创建一个。


//jquery解决方案
$(文档).ready(函数(){
$('#检查')。单击(函数(){
var成本=$(“#成本”).val();
变量patt=/^(\$)?\d+(\.\d+)?$/;
var结果=部分测试(成本);
警报(结果);
});
});
当然,您也可以使用纯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>

//纯Javascript解决方案
变量检查=函数(){
var cost=document.getElementById('cost')。值;
变量patt=/^(\$)?\d+(\.\d+)?$/;
var结果=部分测试(成本);
警报(结果);
}

你试过什么吗?Regex是你的朋友。
<!-- 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>