我這樣做了,只有以'/ msg'或'/ logout'開頭的消息纔會提交。indexOf不能正常工作?
但是,用戶仍然可以發送消息!我的代碼有問題嗎?
if ((msg.indexOf("/msg") != 0) && (msg.indexOf("/logout") != 0))
{
return;
}
我這樣做了,只有以'/ msg'或'/ logout'開頭的消息纔會提交。indexOf不能正常工作?
但是,用戶仍然可以發送消息!我的代碼有問題嗎?
if ((msg.indexOf("/msg") != 0) && (msg.indexOf("/logout") != 0))
{
return;
}
indexOf
將返回-1,如果String
沒有找到否則將返回索引發現這是> = 0
所以你的測試必須是:
if ((msg.indexOf("/msg") < 0) && (msg.indexOf("/logout") < 0))
{
return;
}
或
if ((msg.indexOf("/msg") == -1) && (msg.indexOf("/logout") == -1))
{
return;
}
該問題指出只有帶有「/ msg」和「/ logout」的消息__starting__是可接受的(「indexOf」返回0)。您的解決方案將在「msg」中接受這些字符串_anywhere_ ... – paislee 2012-02-06 19:16:16
P.S. - 這與OP的代碼一樣工作,但接受更多消息,因此不正確。我相信這個問題必須在別處。 – paislee 2012-02-06 19:26:51
原來我的代碼確實有效。問題出在我忽略向你展示的代碼中,但是我修復了它。無論如何感謝您的幫助,並且很高興您也抓住了它。 :) 8小時內,我接受答案或自己回答或回答? – Dav 2012-02-06 19:39:11
原來我的代碼確實有效。問題出在我忽略向你展示的代碼中,但是我修復了它。
感謝您的幫助。 :)
我甚至嘗試用'!=='替換'!=',但它仍然無效。 – Dav 2012-02-06 19:00:27
我認爲你的邏輯很好..嘗試追蹤'msg'的值來查看它是否檢出。 – paislee 2012-02-06 19:35:29
請不要在標題中添加標籤。謝謝。 – Will 2012-02-07 17:23:44