学习笔记2017-6-6(找到合适的值和QQ号码)

xiaoxiao2021-02-28  161

一.回顾知识: Number: JavaScript不区分整数和浮点数,统一用Number表示,以下都是合法的Number类型:

123; // 整数123 0.456; // 浮点数0.456 1.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5 -99; // 负数 NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示 Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity 正数/0返回Infinity 负数/0返回-Infinity

字符串: 字符串是以单引号’或双引号”括起来的任意文本,比如’abc’,”xyz”等等。请注意,”或”“本身只是一种表示方式,不是字符串的一部分,因此,字符串’abc’只有a,b,c这3个字符。

布尔值: 布尔值和布尔代数的表示完全一致,一个布尔值只有true、false两种值;

null和undefined: null表示一个“空”的值,它和0以及空字符串”不同,0是一个数值,”表示长度为0的字符串,而null表示“空”。

数组 数组是一组按顺序排列的集合,集合的每个值称为元素。JavaScript的数组可以包括任意数据类型

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90 ]; //1、找到arr里所有的数字:-98765, 34, -2, 0 ,5 //首先判断出数值类型,然后再把不是数字的数值NaN干掉; /*for(var i=0;i<arr.length;i++){ if(typeof arr[i] == 'number' && arr[i] == arr[i] ){ alert(arr[i]) } }*/ //找到可以转成数字的:'100px', -98765, 34, -2, 0, '300', '23.45元', 5 // 思路直接用转成整数的方法 /*for(var i=0;i<arr.length;i++){ if(parseInt(arr[i])){ alert(arr[i]); } }*/ //3、把转成数字以后,最大值判断出来:300 //思路:存个变量等于数组里面第一个数字 然后 跟数组里面能转成数字的一个一个比较如果大于他 变量就等于他 只到循环完这几个数字; for(var i=0;i<arr.length;i++){ var j = n = parseInt(arr[0]); if(parseInt(arr[i])>j){ //alert(parseInt(arr[i])); //console.log(arr[i]) j = parseInt(arr[i]); alert(j); } } //把 NaN 所在的位置找出来:1 14 17 19 思路:NaN特性 是不等于自己的 先找出来在弹出位置i /*for(var i=0;i<arr.length;i++){ if(arr[i] != arr[i]){ alert(i) } }*/ </script> </body> </html>

QQ号码案例:

<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> </head> <body> 请输入QQ号码:<input type="text" /> <input type="button" value="判断" /> <br /> 1、有没有输入 <br /> 2、输入的是不是数字 <br /> 3、不能有0在前面 <br /> 4、不能是小数 <br /> 5、输入的数字必须在5位以上、10位以内 <br /> 思路:1.判断value值是不是为空 2.因为html获取的都是字符串 需要转化成数值 转化了把NaN干掉 3.判断字符串第一个是不是0 4.判断输入字符的长度 5.判断输入字符中有没有小数点 </body> <script type="text/javascript"> var input = document.querySelectorAll('input'); var re = null; input[1].onclick = function() { if(input[0].value == '') { alert('請輸入QQ號碼') } if(typeof input[0].value == 'string') { re = parseInt(input[0].value); if(re !== re) { alert('请输入数字') } else if(re.toString()[0] == 0 || input[0].value.substr(0,1) == 0){ // alert('0不可以在第一位'); } else if(re.toString().length < 5 || re.toString().length>10){ alert('输入的数字必须在5位以上、10位以内 ') } else if(input[0].value.toString().indexOf('.') > -1){ alert('请不要输入小数') } //console.log(input[0].value.substr(0,3))//获取字符串第几个从0开始 获取几个 //console.log(re.toString().length)//获取长度 //console.log(re.toString()[0])//获取number第几个字符 } } </script> </html>

toString:toString() 方法可把一个逻辑值转换为字符串,并返回结果。 toString()[0])获取字符串中第0个字符

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。 //console.log(input[0].value.substr(0,3))//获取字符串字符,第一参数从0开始 第二参数获取几个

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。 获取小数点: inexOf()函数查找字符串中的小数点”.”,然后返回小数点在该字符串中出现的位置。(indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,如果要检索的字符串值没有出现,则该方法返回 -1。)

然后对indexOf()函数返回的值判断,string(newNum).indexOf(“.”) >-1 即表示该字符串中存在小数点,则该数值为小数。(因为只有在没有小数点的情况想,indexOf()才会返回-1,只要字符串中包含小数点,便会返回大于或等于0的值,所以返回值只要跟-1比较,大于-1即为小数。)

新手个人笔记! 大神勿喷!

转载请注明原文地址: https://www.6miu.com/read-30652.html

最新回复(0)