Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript/jQuery-浮点验证?_Javascript_Jquery_Validation_Google Maps - Fatal编程技术网

Javascript/jQuery-浮点验证?

Javascript/jQuery-浮点验证?,javascript,jquery,validation,google-maps,Javascript,Jquery,Validation,Google Maps,我有一个文本字段,人们可以在其中输入价格(XX.XX)。有没有办法确保他们在小数点后只输入不超过2位的数字?你可以用一个简单的方法解决输入价格问题。网上还有更多 可以在格式和内容上验证数据。在格式上完成后,您可以使用。对于格式,我会对地址使用webservice,但对于州和国家,您可以提供带有强制选择的下拉列表(输入选择) Zipcode(例如,每个国家/地区不同,因此您必须根据国家/地区的选择进行设置;) 十进制位置代码: <input type="text" class="price"

我有一个文本字段,人们可以在其中输入价格(XX.XX)。有没有办法确保他们在小数点后只输入不超过2位的数字?

你可以用一个简单的方法解决输入价格问题。网上还有更多

可以在格式和内容上验证数据。在格式上完成后,您可以使用。对于格式,我会对地址使用webservice,但对于州和国家,您可以提供带有强制选择的下拉列表(输入选择)


Zipcode(例如,每个国家/地区不同,因此您必须根据国家/地区的选择进行设置;)

十进制位置代码:

<input type="text" class="price" value="" />

$('.price').keydown(function() {
    var decPos = $(this).val().split('.'); 
    if(decPos.length > 1)
    {
        decPos = decPos[1];
        if(decPos.length >= 2) return false;
    }
});

$('.price').keydown(函数(){
var decPos=$(this.val().split('.');
如果(decPos.length>1)
{
decPos=decPos[1];
如果(decPos.length>=2)返回false;
}
});

验证地址信息可能会在这里找到-

我认为最好的选择是使用正则表达式

对于十进制示例:

var decimal = /\.\d\d$/;

以下是验证的主要类型

$(document).ready(function(){
//for numeric integer only
var num_int_Exp = /^[0-9]+$/;
$("body").on("keypress", ".custom_numeric_int", function(e){
        var keynum;
            if(window.event){ // IE
                keynum = e.keyCode;
            }else
            if(e.which){ // Netscape/Firefox/Opera                  
                    keynum = e.which;
            }
            if(!String.fromCharCode(keynum).match(num_int_Exp))
            {
                return false;
            }
            return true;
});

//for numeric float only
$("body").on("keypress", ".custom_numeric_float", function(e){
    //$('.custom_numeric_float').keypress(function(event)
        //alert($(this).val().indexOf("."));
        if ($(this).val().indexOf(".") > -1 && event.which == 46) {
            return false;
        }

        if ((event.which != 46) && (event.which < 48 || event.which > 57)) {
            event.preventDefault();
        }
});


//for character input
var charExp = /^[a-zA-Z]+$/;
$("body").on("keypress", ".custom_char", function(e){
            var keynum;
            if(window.event){ // IE
                keynum = e.keyCode;
            }else
            if(e.which){ // Netscape/Firefox/Opera                  
                    keynum = e.which;
            }
            if(!String.fromCharCode(keynum).match(charExp))
            {
                return false;
            }
            return true;
});

//for alpha-numeric input
var alphaExp = /^[a-zA-Z0-9]+$/;
$("body").on("keypress", ".custom_alphanumeric", function(e){
            var keynum;
            if(window.event){ // IE
                keynum = e.keyCode;
            }else
            if(e.which){ // Netscape/Firefox/Opera                  
                    keynum = e.which;
            }
            if(!String.fromCharCode(keynum).match(alphaExp))
            {
                return false;
            }
            return true;
});});
$(文档).ready(函数(){
//仅适用于数字整数
变量num_int_Exp=/^[0-9]+$/;
$(“body”)。在(“按键”上,“.custom\u numeric\u int”,函数(e){
var-keynum;
if(window.event){//IE
keynum=e.keyCode;
}否则
if(e.which){//Netscape/Firefox/Opera
keynum=e.which;
}
if(!String.fromCharCode(keynum).match(num\u int\u Exp))
{
返回false;
}
返回true;
});
//仅适用于数字浮点
$(“body”)。在(“按键”上,在“.custom\u numeric\u float”上,函数(e){
//$('.custom\u numeric\u float')。按键(函数(事件)
//警报($(this).val().indexOf(“.”);
if($(this.val().indexOf(“.”>)-1&&event.which==46){
返回false;
}
如果((event.which!=46)和&(event.which<48 | | event.which>57)){
event.preventDefault();
}
});
//用于字符输入
var charExp=/^[a-zA-Z]+$/;
$(“body”)。在(“按键”,“自定义字符”,函数(e){
var-keynum;
if(window.event){//IE
keynum=e.keyCode;
}否则
if(e.which){//Netscape/Firefox/Opera
keynum=e.which;
}
if(!String.fromCharCode(keynum).match(charExp))
{
返回false;
}
返回true;
});
//用于字母数字输入
变量alphaExp=/^[a-zA-Z0-9]+$/;
$(“正文”)。在(“按键”上,“.custom_字母数字”,函数(e){
var-keynum;
if(window.event){//IE
keynum=e.keyCode;
}否则
if(e.which){//Netscape/Firefox/Opera
keynum=e.which;
}
if(!String.fromCharCode(keynum).match(alphaExp))
{
返回false;
}
返回true;
});});
现在给文本框指定适当的类,验证就完成了。
希望这会有所帮助。

这并不能确保按照OP的要求输入小数点。它会检查值,并且不允许用户输入超过两位小数。是否希望我添加一个jsfiddle.net链接来演示它的工作原理?如果我输入AAA.AA,它会工作,但这不是小数;)老实说,我不相信有人会把字母输入到价格输入中。如果OP愿意,我将对其进行编辑,以禁止除字母和十进制值以外的所有内容。