我在Javascript中有String变量,如:
var houseNo =“62A”;
var cabinNo =“5BC”;
我需要 从字符串中取出整数和字母 ,其中每个字符串的出现次数可以是任意次。
需要帮助以最佳方式完成,无论是lodash还是其他任何原型方法。
提到this但是徒劳无功,因为不希望它通过RegEx。
答案 0 :(得分:0)
试试这个:
var houseNo = "62A";
foreach(char a in houseNo)
{
if(a > 48 && a < 57)
{
/*it's a number*/
}
else
{
/*it's a letter*/
}
}
您可以在每个字符串上应用它,并确定您要对每个数字或字母执行的操作。
答案 1 :(得分:0)
类似的东西:
function decompose(string){
for(var i=0;i<string.length;i++){
if(parseInt(string[i])){ // if the char is a number?
// do whatever you want
}else{
// it's a character
}
}
}
parseInt()
函数返回给予者char的编号。如果它不是数字,则返回NaN(不是数字)。 if(parsInt(char))
false
如果是个字符,则返回true
,angular.module('farm')
.factory('beforeUnload', function ($rootScope, $window) {
// Events are broadcast outside the Scope Lifecycle
$window.onbeforeunload = function (e) {
var confirmation = {};
var event = $rootScope.$broadcast('onBeforeUnload', confirmation);
if (event.defaultPrevented) {
return confirmation.message;
}
};
$window.onunload = function () {
$rootScope.$broadcast('onUnload');
};
return {};
})
.run(function (beforeUnload) {
// Must invoke the service at least once
});
如果是个号
答案 2 :(得分:0)
var test = "a3434dasds3432s2"
var myString = test.split("").filter(function(v) {return isNaN(v)}).join("")
var myNumber = parseInt(test.split("").filter(function(v) {return !isNaN(v)}).join(""))
最好真正使用正则表达式。