js 计算字符串长度/判断空的简单方法
来源:自学PHP网
时间:2014-09-19 14:47 作者:
阅读:次
[导读] 在js中计算字符长度我们常用的就是length函数,但下面我看一朋友写的文档很是奇怪,下面我来介绍一下计算字符为空或计算字符串长度的方法。...
计算字符串长度可用的三种方法:
代码如下 |
复制代码 |
echo “$str”awk '{print length($0)}'
expr length “$str”
echo “$str”wc -c
|
但是第三种得出的值会多1,可能是把结束符也计算在内了。
判断字符串为空的方法有三种:
代码如下 |
复制代码 |
if [ "$str" = "" ]
if [ x"$str" = x ]
if [ -z "$str" ]
|
注意:都要代双引号,否则有些命令会报错,要养成好习惯哦!
上面的代码我也没看懂,但我自己使用的是
核心代码:
代码如下 |
复制代码 |
var jmz = {};
jmz.GetLength = function(str) {
///<summary>获得字符串实际长度,中文2,英文1</summary>
///<param name="str">要获得长度的字符串</param>
var realLength = 0, len = str.length, charCode = -1;
for (var i = 0; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128) realLength += 1;
else realLength += 2;
}
return realLength;
};
执行代码:
alert(jmz.GetLength('测试测试ceshiceshi));
|
判断字符为空
代码如下 |
复制代码 |
function empty(v){
switch (typeof v){
case 'undefined' : return true;
case 'string' : if(trim(v).length == 0) return true; break;
case 'boolean' : if(!v) return true; break;
case 'number' : if(0 === v) return true; break;
case 'object' :
if(null === v) return true;
if(undefined !== v.length && v.length==0) return true;
for(var k in v){return false;} return true;
break;
}
return false;
} |
补充一些用法
typeof用法
typeof的运算数未定义,返回的就是 "undefined".
运算数为数字 typeof(x) = "number"
字符串 typeof(x) = "string"
布尔值 typeof(x) = "boolean"
对象,数组和null typeof(x) = "object"
函数 typeof(x) = "function"
(2)js判断是否为空
代码如下 |
复制代码 |
var exp = null;
if (!exp && typeof(exp)!="undefined" && exp!=0)
{
alert("is null");
}
|
尽管如此,我们在 DOM 应用中,一般只需要用 (!exp) 来判断就可以了,因为 DOM 应用中,可能返回 null,可能返回 undefined,如果具体判断 null 还是 undefined 会使程序过于复杂。 |