验证输入是否仅包含数值-Javascript
我目前正在使用下面的脚本获取我的输入,并将它们转换为我想要的内容,包括一些验证。 我已经设置了服务器端验证,并且希望有一些客户端,我已经验证了输入的长度,但是现在需要确保它们只包含数字。这适用于变量日、月和年。我尝试过使用IsNumeric(),但没有效果验证输入是否仅包含数值-Javascript,javascript,jquery,validation,Javascript,Jquery,Validation,我目前正在使用下面的脚本获取我的输入,并将它们转换为我想要的内容,包括一些验证。 我已经设置了服务器端验证,并且希望有一些客户端,我已经验证了输入的长度,但是现在需要确保它们只包含数字。这适用于变量日、月和年。我尝试过使用IsNumeric(),但没有效果 <script type="text/javascript"> function timeMachine() { var day = $("#date_day").val(); var month = $
<script type="text/javascript">
function timeMachine() {
var day = $("#date_day").val();
var month = $("#date_month").val();
var year = $("#date_year").val();
if (day == "" && month == "" && year != ""){
if (year.length != 4){
alert("Please enter a valid year!");
} else{
window.location = "/date/" + year ;
}
} else if (day == "" || month == "" || year == ""){
alert("Please enter a full date!");
} else{
var myDate = new Date(year, month-1, day);
var monthNames = [ "january", "february", "march", "april", "may", "june","july", "august", "september", "october", "november", "december" ];
window.location = "/date/" + year + "/" + monthNames[myDate.getMonth()] + "/" + day;
}
return false;
}
</script>
函数timeMachine(){
var day=$(“#date_day”).val();
var月=$(“#日期月”).val();
var年=$(“#日期年”).val();
如果(日=“”&月=“”&年!=“”){
如果(年长!=4){
警报(“请输入有效年份!”);
}否则{
window.location=“/date/”+年份;
}
}否则,如果(日=“”| |月=“”| |年=“”){
警报(“请输入完整日期!”);
}否则{
var myDate=新日期(年、月、日);
var monthNames=[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”];
window.location=“/date/”+year+“/”+monthNames[myDate.getMonth()]+“/”+天;
}
返回false;
}
想法?简单地说,如果您支持现代浏览器,请使用:
<input type="number" />
请尝试以下功能:
function isNumber( num ) {
return ! isNaN( parseFloat( num ) ) && isFinite( num );
}
最好使用
我理解您的意思,但是添加input type=“number”意味着我的php不再限制长度working@L.SmithPHP如何控制你的客户端,你能澄清一下吗?
/^\d+$/.test(input.value);
function isNumber( num ) {
return ! isNaN( parseFloat( num ) ) && isFinite( num );
}