我有一个字符串如下:
var str = " Hello";
我可以将字符串的第一个字符作为
var the_char=str.charAt(0);
alert(the_char)
if(the_char === " "){
alert("first char of the query is space");
return;
}
但是警报没有弹出。如果字符串的第一个字符是空格,我想弹出警报。我怎么能这样做?
由于
答案 0 :(得分:5)
有几种类型的空白。
正则表达式会让你测试不止一个......
alert(/^\s/.test(mystring));
^
字符将正则表达式锚定到字符串的开头。
\s
将测试空间,制表符,carraige返回,换行等。
\ s匹配单个空格字符,包括空格,制表符,换页符和换行符。相当于
[ \f\n\r\t\v\u00A0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u2028\u2029\u202f\u205f\u3000]
。
答案 1 :(得分:1)
由于JavaScripts String.trim()很好地摆脱了空白,我利用它创建了一个startsWithSpace()函数。
var startsWithSpace = function(string) {
return string.indexOf(string.trim()) != 0;
};
在此实现中,新行被计为空格。
答案 2 :(得分:0)
它会弹出:
即使x.x
x
undefined
,您可能会抛出异常,并且不会在此代码中访问{{1}}之间的某个警报中被捕获:
您需要追踪并修复该错误,而不是您在此处发布的可正常运行的代码。
答案 3 :(得分:0)
function haswsatbeginning(str){var re=new RegExp('^[ \\s\u00A0]+','g');return((str+'').replace(re,'')!==str);}
var str = " Hello";
alert(haswsatbeginning(str)); // alerts true
str = ('{^-^}');
alert(haswsatbeginning(str)); // alerts false
答案 4 :(得分:-1)
第一次提醒后你丢失了一个分号。如果您使用的是Chrome或Firefox,则在提出问题之前,应始终检查控制台是否有错误。
答案 5 :(得分:-2)
你不会在if循环中返回任何内容..它会出现语法错误,所以只有你没有弹出...
删除返回语句
var str = " Hello";
var the_char=str.charAt(0);
alert(the_char);
if(the_char === " "){
alert("first char of the query is space");
}