大家好,
我正在验证我的表单,只是检查一个数字应该是用户输入字符串的字段。
在表单中有一个字段,用户可以根据需要添加更多字段。 然后将表单发送到js函数,我收集这样添加的字段:
params ='';
var myAray = [];
$(".myfieldThatNeedNumbers").each(function(){
myAray.push($(this).val());
})
params += '&myfieldThatNeedNumbers='+myAray;
由于.ajax()
,后来的params将被发送到我的php文件如何验证字段“myfieldThatNeedNumbers”中的值是否为数字?
非常感谢!
答案 0 :(得分:1)
或者你可以尝试
!isNaN(Number(value))
编辑: 你的意思是 -
$(".myfieldThatNeedNumbers").each(function(){
var val = $(this).val();
if(!isNaN(Number(val)){ /* invalid number detected */ }
myAray.push($(this).val());
})
答案 1 :(得分:1)
var params = $( '.myFieldsThatAreNumber' ).filter( function() {
return $.isNumeric( this.value );
} );
当天的优雅答案™。
$.isNumeric
需要jQuery 1.7(source for the shim,可能基于this answer)。
此外,$.ajax
需要data
参数的对象,因此您需要以下内容:
var data = {
'myFieldsThatAreNumbers': params
};
$.ajax( {
data: data,
} );
或者只是:
$.ajax( {
data: {
'myFieldsThatAreNumbers': params
},
} );
jQuery会为你创建字符串。
答案 2 :(得分:0)
$(".myfieldThatNeedNumbers").each(function(){
var value = $(this).val();
if($.isNumeric(value)) {
myAray.push(value);
} else {
alert('Not number')
}
});
详细了解 $.isNumeric()
答案 3 :(得分:0)
/^\d+$/.text(string)
for while numbers。
/^\d+\.?\d*$/.test(string)
表示浮点数。如果您需要签名,请在前面添加[+\-]?
。
对于美元,您可以使用
/^[+\-]?\d+(\.\d{2})?/.test(string)