Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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 使用正/负整数和浮点值验证逗号分隔的数字_Javascript - Fatal编程技术网

Javascript 使用正/负整数和浮点值验证逗号分隔的数字

Javascript 使用正/负整数和浮点值验证逗号分隔的数字,javascript,Javascript,我需要一个逗号分隔值的正则表达式,它接受正/负整数和浮点数 Ej:3,45,2.5,12,-20 我怎么得到它?谢谢 我需要实现一个添加值并返回结果的函数,它会检测到错误输入的模式,比如用连字符分隔的数字 Ej:3,45,2.5,12,-20(正确) Ej:3-45-2.5-12-20(不正确) 但我不明白,我的代码是: <html> <head> <script type="text/javascript"> function validar() { var

我需要一个逗号分隔值的正则表达式,它接受正/负整数和浮点数

Ej:3,45,2.5,12,-20

我怎么得到它?谢谢

我需要实现一个添加值并返回结果的函数,它会检测到错误输入的模式,比如用连字符分隔的数字

Ej:3,45,2.5,12,-20(正确)

Ej:3-45-2.5-12-20(不正确)

但我不明白,我的代码是:

<html>
<head>
<script type="text/javascript">
function validar()
{
var patron = /^(-?\d*\.?\d*,?)+$/;                         
var numeros = document.getElementById("numeros").value;

if (!patron.test(numeros)) 
{        
    alert("Introduzca los números que desee sumar separados por comas, Ej: 3,3.25,-1");                      
}
else 
{
    suma();     
}
} 

function suma()
{
var entrada = document.getElementById("numeros").value;
var numeros = entrada.split(",");
var suma = 0;

for(var i = 0; i < numeros.length; i++)
    {
        suma += parseFloat(numeros[i]);
    }
document.getElementById("resultado").value = suma;
}    
</script>
</head>
<body>
Números: <input type="text" id="numeros" size="30">
Resultado: <input type="text" id="resultado" size="20">
<input type="button" value="SUMAR" onClick="validar()">
</body>
</html>

函数validar()
{
风险值用户=/^(-?\d*\。?\d*,?)+$/;
var numeros=document.getElementById(“numeros”).value;
如果(!用户测试(数字))
{        
警报(“引见苏马尔·塞帕拉多斯波尔科马斯,Ej:3,3.25,-1”);
}
其他的
{
suma();
}
} 
函数suma()
{
var entrada=document.getElementById(“numeros”).value;
var numeros=entrada.split(“,”);
var-suma=0;
对于(变量i=0;i
基本上是和的副本

或者作为单个正则表达式

/^(-?\d*\.?\d*)(,-?\d*\.?\d*)*$/.test("3,45,2.5,12,-20")
经过一点重构,您将得到

<html>
<head>
 <title>JS Números</title>
</head>

<body>
Números: <input type="text" id="numeros" size="30">
Resultado: <input type="text" id="resultado" size="20">
<input type="button" value="SUMAR" onClick="suma()">

<script type="text/javascript">
var numberElement = document.getElementById("numeros");
var resultElement = document.getElementById("resultado");
var numberPattern = /^(-?\d*\.?\d*)(,-?\d*\.?\d*)*$/;

function suma() {
    var numberString = numberElement.value;
    if (numberPattern.test(numberString)) {
        var sum = numberString.split(",").reduce(function(m,v) { return m + parseFloat(v); }, 0);
        resultElement.value = sum;
    } else {
        alert("Introduzca los números que desee sumar separados por comas, Ej: 3,3.25,-1");
        resultElement.value = "";
    }
}    
</script>
</body>
</html>

努梅罗斯酒店
努梅罗斯:
结果:
var numberrelation=document.getElementById(“numeros”);
var resultElement=document.getElementById(“resultado”);
var numberPattern=/^(-d*.?\d*)(,-?\d*.?\d*)*$/;
函数suma(){
var numberString=numberrelation.value;
if(数字模式测试(数字字符串)){
var sum=numberString.split(“,”).reduce(函数(m,v){return m+parseFloat(v);},0);
resultElement.value=总和;
}否则{
警报(“引见苏马尔·塞帕拉多斯波尔科马斯,Ej:3,3.25,-1”);
resultElement.value=“”;
}
}    
<html>
<head>
 <title>JS Números</title>
</head>

<body>
Números: <input type="text" id="numeros" size="30">
Resultado: <input type="text" id="resultado" size="20">
<input type="button" value="SUMAR" onClick="suma()">

<script type="text/javascript">
var numberElement = document.getElementById("numeros");
var resultElement = document.getElementById("resultado");
var numberPattern = /^(-?\d*\.?\d*)(,-?\d*\.?\d*)*$/;

function suma() {
    var numberString = numberElement.value;
    if (numberPattern.test(numberString)) {
        var sum = numberString.split(",").reduce(function(m,v) { return m + parseFloat(v); }, 0);
        resultElement.value = sum;
    } else {
        alert("Introduzca los números que desee sumar separados por comas, Ej: 3,3.25,-1");
        resultElement.value = "";
    }
}    
</script>
</body>
</html>