我有“名字”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;
}
答案 0 :(得分:9)
if (name.length < 4) {
...
}
答案 1 :(得分:5)
您可能想检查字符串的 length
,而不是字符串本身的数值:
if(name.length < 4) {
// ...
答案 2 :(得分:1)
if(name.length < 4) {
//Do something
}
您必须检查变量的length
。
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`!)