我需要一个验证文本框,接受这样的$ 250.00这里'$'只接受一次,然后从不接受'$'以及'。'(点)。
答案 0 :(得分:0)
例如,您可以使用masked input 你的面具将是
$('#input').mask('$9?.99');
答案 1 :(得分: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
.
结尾
答案 2 :(得分:0)
jquery是一个选项吗?
这是一个jquery解决方案。首先,我不会验证期望用户输入'$'。我会把它放在表格之外,只允许人们输入金额。这很奇怪,但我想我真的没有关于你在做什么的背景。见Jquery validation:
$("#myform").validate({
rules: {
field: {
required: true,
digits: true
}
}
});
这是使用digits仅允许数字。否则,如果你真的需要$ in,你需要创建一个custom validation rule。
答案 3 :(得分: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>
当然你也可以使用纯javascript来减少依赖
<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>