如何在angularjs中检查ng-model的值是字符串还是数字?

4

我有一个在Angular中的JavaScript代码,它检查文本字段的值是否未定义或为空,它运行良好且有效。

$scope.checkNumber = function(user_answer){
 if(user_answer == undefined){
   return false;     
 }
}

但是我的下一步是如何编写一个函数来识别值是字符串还是数字,并返回一个布尔值。我不知道在angular java script中的正确语法,有人能帮我解决问题吗?


你尝试过使用 typeof 吗?它是 JavaScript 内置的。 - Sushant
如果你想要一个只能输入数字的文本框,可以使用<input type='number'>。 - Icycool
@lcycool <input type='number'> 无法防止您输入字符串。 - Robin-Hoodie
2个回答

4
您可以按照Angular的方式进行操作,使用Angular助手函数:
$scope.checkNumber = function(user_answer){
    if(angular.isUndefined(user_answer)){
      return false;                 
    }
    if(angular.isString(user_answer)) {
       //return boolean
    }
    if(angular.isNumber(user_answer)) {
       //return boolean
    }
}

@JustAce,我不确定我理解你的意思。 - Robin-Hoodie
现在它可以工作了,只是人为的错误,谢谢你。我只需要重构我的代码来添加一些条件。再次感谢你 =) - JustAce

3
试试这样做。
function check(text){     
 return typeof text ==="number";
}

我需要在执行此函数之前将获取的数据转换为字符串或数字吗? - JustAce
谢谢@Anik Islam Abhi,我已经找到了另一个解决方案。但是你的代码方法也帮助了我。再次感谢。=) - JustAce

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接