JavaScript 怎么验证值是否是数字? 下面本篇文章给大家介绍一下. 有一定的参考价值, 有需要的朋友可以参考一下, 希望对大家有所帮助.
方法 1: 使用 JS 自带的全局函数 isNaN()
isNaN() 函数用于检查其参数是否是非数字值. 如果 值 x 是特殊的非数字值 NaN(或者能被转换为这样的值), 返回的值就是 true; 如果 值 x 是其他值, 则返回 false.
示例:
- <!DOCTYPE html>
- <HTML>
- <head>
- <title>
- 表单验证
- </title>
- <style>
- #box{width:250px; height:260px; background-color: black; color:white;}
- </style>
- <script type="text/javascript">
- function fun() {
- var a = document.getElementById('zhi').value;
- if (isNaN(a) == true) {
- alert('不是数字哦');
- document.getElementById('zhi').value = '';
- }
- }
- </script>
- <body>
- 请输入, 判断是否为数字:
- <input type='text' id='zhi' οnkeyup='fun()' />
- </body>
- </HTML>
方法 2: 使用正则表达式
示例 1: 校验只要是数字 (包含正负整数, 0 以及正负浮点数) 就返回 true
- /**
- * 校验只要是数字 (包含正负整数, 0 以及正负浮点数) 就返回 true
- **/
- function isNumber(val){
- // 非负浮点数
- var regPos = /^\d+(\.\d+)?$/;
- // 负浮点数
- var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;
- if(regPos.test(val) || regNeg.test(val)){
- return true;
- }else{
- return false;
- }
- }
示例 2: 校验正负正数就返回 true
- /**
- * 校验正负正数就返回 true
- **/
- function isIntNum(val){
- var regPos = / ^\d+$/; // 非负整数
- var regNeg = /^\-[1-9][0-9]*$/; // 负整数
- if(regPos.test(val) || regNeg.test(val)){
- return true;
- }else{
- return false;
- }
- }
更多前端开发 https://www.html.cn/ 知识, 请查阅 HTML 中文网 !!
来源: http://www.css88.com/qa/javascript/17406.html