JavaScript变量少于4个字符

时间:2012-05-27 01:56:20

标签: javascript variables

我有“名字”JavaScript变量。如果变量“name”包含少于4个字符,我想执行行:msg('name','Your name must contain minimum 4 characters.')'; 我尝试过这样的东西,但它解释了数学。任何的想法?谢谢。

if(name < 4 ) {
  msg('name','Your name must contain minimum 4 characters.');
  return false;
}

4 个答案:

答案 0 :(得分:9)

if (name.length < 4) {
   ...
}

答案 1 :(得分:5)

您可能想检查字符串的 length ,而不是字符串本身的数值:

if(name.length < 4) {
    // ...

答案 2 :(得分:1)

if(name.length < 4) {
    //Do something
}

您必须检查变量的length

Fun facts:

  • length也可用于检查Array
  • 的长度
  • \n(换行)也算作角色。

答案 3 :(得分:1)

根据您对“字符”的定义,到目前为止发布的所有答案都不正确。当您确定只输入BMP Unicode符号时,string.length答案可靠。例如,'a'.length == 1,正如您所期望的那样。

然而,对于补充(非BMP)符号,事情有点不同。例如,''.length == 2,即使那里只有一个Unicode符号。这是因为JavaScript exposes UCS-2 code units as “characters”

幸运的是,仍然可以通过一些hackery来计算JavaScript字符串中的Unicode符号数。您可以使用Punycode.js的实用程序函数在UCS-2字符串和UTF-16代码点之间进行转换:

// `String.length` replacement that only counts full Unicode characters
punycode.ucs2.decode('a').length; // 1
punycode.ucs2.decode('').length; // 1 (note that `''.length == 2`!)