javascript 验证是否为数字方法总结

isNaN 函数
isNaN(expression:Object) : Boolean

计算参数,如果值为 NaN(非数字),则返回 true。此函数可用于检查一个数学表达式是否成功地计算为一个数字。

isNaN函数 如下:

 代码如下 复制代码

function checknum(str) {
 if (isNaN(str)) {
  alert("不是数字");
 }
}

另外再看

 代码如下 复制代码

parseInt("Hello",10);//return NAN
parseInt("110",10);//return 110

所以简单的判断字符串是否为数字的方法就是利用isNaN(),如果返回true,则该字符串不为数字,否则为数字

 代码如下 复制代码

isNaN(parseInt("Hello",10));//true;
isNaN(parseInt("110",10));//false;

注:不能利用以下方式判断:

 代码如下 复制代码

parseInt("Hello",10)==NaN;//return false
parseInt("110",10)==NaN;//return false

另外,可用正则表达式,最完整最精确的方法:

 代码如下 复制代码

function isNumber(oNum)
   {
  if(!oNum) return false;
  var strP=/^d+(.d+)?$/;
  if(!strP.test(oNum)) return false;
  try{
  if(parseFloat(oNum)!=oNum) return false;
  }
  catch(ex)
  {
   return false;
  }
  return true;
   }

这段javascript代码很简洁,大家可以看下。

 代码如下 复制代码
<script language=javascript>
function onlyNum()
{
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)))
//考虑小键盘上的数字键
event.returnvalue=false;
}
</script>
<input onkeydown="onlyNum();">

下面还有一种比较笨的方法,大家也可以看下,学习嘛
下次贴个用正则验证数字的

 代码如下 复制代码
<script language="javascript">
function CheckMyForm()
{
var txt = myform.mytext.value;
if(checknumber(txt))
{
alert("只允许输入数字!");
return false;
}
return true;
}
function checknumber(String)
{
var Letters = "1234567890";
var i;
var c;
for( i = 0; i < String.length; i ++ )
{
c = String.charAt( i );
if (Letters.indexOf( c ) ==-1)
{
return true;
}
}
return false;
}
</script>
<body>
<form name="myform" onSubmit="return CheckMyForm()">
<input type="text" name="mytext">
<input type="submit" name="mysubmit">
</form>
</body>

最简单的javascript验证是否不是数字的代码如下:

 代码如下 复制代码

<input type='TEXT' onKeyPress="if(event.keyCode==13){if(isNaN(this.value))alert('不是数值')};">

常用用的正则数字表达式

1)

 代码如下 复制代码

“^\d+$” //非负整数(正整数 + 0)
“^[0-9]*[1-9][0-9]*$” //正整数
“^((-\d+)|(0+))$” //非正整数(负整数 + 0)
“^-[0-9]*[1-9][0-9]*$” //负整数
“^-?\d+$” //整数
“^\d+(” //非负浮点数(正浮点数 + 0)
“^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$” //正浮点数
“^((-\d+(” //非正浮点数(负浮点数 + 0)
“^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$” //负浮点数
“^(-?\d+)(” //浮点数

2)

 代码如下 复制代码

var r = /^+?[1-9][0-9]*$/; //正整数
r.test(str);

时间: 2025-01-07 16:46:28

javascript 验证是否为数字方法总结的相关文章

javascript验证内容为数字以及长度为10的简单实例_javascript技巧

javascript验证内容为数字以及长度为10的简单实例 <html> <head> <script type="text/javascript"> function valid() { var numVal = document.getElementById("num").value; if(numVal!=undefined&&numVal!=""){ if(!validateNum(nu

Javascript中字符串转数字方法介绍

们知道最简洁的数字转字符串方法是: 强制类型转换 整数要转换成字符串,必须使用Integer.toString()静态方法或者String.valueOf()静态方法,把字符串转换为整数,必须使用Integer.valueOf(). 可见,不能把JavaScript中的类型转换看作为"强制类型转换". 还可使用强制类型转换(type casting)处理转换值的类型.使用强制类型转换可以访问特定的值,即使它是另一种类型的. ECMAScript中可用的3种强制类型转换如下: Boole

javascript验证只能输入数字和一个小数点示例_javascript技巧

复制代码 代码如下: function gaga(obj){ // 值允许输入一个小数点和数字 obj.value = obj.value.replace(/[^\d.]/g,""); //先把非数字的都替换掉,除了数字和. obj.value = obj.value.replace(/^\./g,""); //必须保证第一个为数字而不是. obj.value = obj.value.replace(/\.{2,}/g,"."); //保证只有出

javascript验证邮件地址和MX记录的方法

         本文实例讲述了javascript验证邮件地址和MX记录的方法.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // Tests for a valid email address and optionally tests for valid MX records, too. function is_valid_email($email, $test_mx = false) { if(eregi("^([_a-z0-9-]

javascript验证邮件地址和MX记录的方法_javascript技巧

本文实例讲述了javascript验证邮件地址和MX记录的方法.分享给大家供大家参考.具体如下: // Tests for a valid email address and optionally tests for valid MX records, too. function is_valid_email($email, $test_mx = false) { if(eregi("^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+

超精准的javascript验证身份证号的具体实现方法_javascript技巧

编写程序前先来了解下身份证号的构成: 身份证号分为两种,旧的为15位,新的为18位. 身份证15位编码规则:dddddd yymmdd xx p    其中 dddddd:地区码    yymmdd: 出生年月日    xx: 顺序类编码,无法确定    p: 性别,奇数为男,偶数为女: 身份证18位编码规则:dddddd yyyymmdd xxx y    其中 dddddd:地区码    yyyymmdd: 出生年月日     xxx:顺序类编码,无法确定,奇数为男,偶数为女    y: 校

Javascript验证Visa和MasterCard信用卡号的方法_javascript技巧

本文实例讲述了Javascript验证Visa和MasterCard信用卡号的方法.分享给大家供大家参考.具体实现方法如下: visa验证: <HTML> <head> <title>Visa Example</title> <script type="text/javascript"> function luhnCheckSum(sCardNum) { var iOddSum = 0; var iEvenSum = 0; v

js验证是否为数字的总结_javascript技巧

js验证是否为数字,最简单的方法: isNaN函数的使用: function checknum() { if (isNaN(frm.num.value)) { alert("请输入数字"); frm.num.focus(); return false; } } 最完整最精确的方法:(正则表达式) 1) "^\\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\\d+)|(0+)

javascript验证手机号和实现星号(*)代替实例_javascript技巧

一.JavaScript替换手机号中间4位 // 匹配手机号首尾,以类似"123****8901"的形式输出 '12345678901'.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2'); 示例 <!doctype html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-