猿问

请问这里判断数字的返回值,为什么只能是数字?

.p1 { background-color:#abcdef; color:green; }
.p2 { background-color:#000; color:#fff; }
div { margin:10px; }
<input type="text" class="js-text2" value=""/>
<input type="text" class="js-text3" value=""/>
<input type="button" onclick="calculate('+')" value="加" />
<input type="button" onclick="calculate('-')" value="减" />
<input type="button" onclick="calculate('*')" value="乘" />
<input type="button" onclick="calculate('/')" value="除" />
	<script>	
		function calculate(a){

			var num1 = $("js-text2").value;
			var num2 = $('js-text3').value;
			
			var isnum1 = isnumber(num1);
			var isnum2 = isnumber(num2);
			
			if(isnum1==2||isnum2==2){
				alert("含有非法字符");
				return false;
			}else{
				if( isnum1==0 && isnum2==0 ) {
					if( a=='+' ) {
						alert(parseInt(num1)+parseInt(num2));
					}
					else if( a=='-' ) {	
						alert(parseInt(num1)-parseInt(num2));
					}
					else if( a=='*' ) {	
						alert(parseInt(num1)*parseInt(num2));
					}
					else if( a=='/' ) {	
						alert(parseInt(num1)/parseInt(num2));
					}	
				}
			}	
		}
		function $(classname){
			return document.getElementsByClassName(classname)[0];
		}
		/*
		return 0:整数; 1:小数; 2:非法字符
		*/
		
		//只能整数运算
		function isnumber(a){
			if(!isNaN(a)){
				var array = a.split('.');
				var count = array.length;
				if(count==1){
					return 0;
				}else{
					if(count==2){
						if(parseInt(array[1])==0){
							return 0;
						}else{
							return 2;
						}
					}else{
						return 2;
					}
				}
			}else{
				return 2;
			}
		}
	</script>

这是一个整数的加减乘除,我想问的是判断是否为整数(函数 isnumber)返回的值,为什么只能是数字。我尝试将 返回的数字改成字母就会报错

依韵S1
浏览 1308回答 2
2回答

这是一首

function isNum(s) {  //var regu = "^([0-9]*)$";  var regu = "^([0-9]*[.0-9])$"; // 小数测试  var re = new RegExp(regu);  if (s.search(re) != -1)   return true;  else   return false; }试试这个
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答