2012-03-04 12 views
0

このコードを使用して、ページのサブストリング値をチェックしています。JavaScriptを使用したサブストリング条件の確認方法

if ((col == 4 || col == 6) && ((text.substr(0, 1) == "%") || (text.substr(0, 1) == "@") || (text.substr(0, 1) == " "))) { 
    GetVariableDescription(pageIndex, row, col, text); 
} 

私はそれは良い取り組んでいるが、私はAAAkまたは1234またはASJA
に入っていたときにそれは

を検証していない%0012または%00AAまたは@1234または@ABDJC
でコードをしようとしています何かが私はということですここで間違っている?この条件は真実ではありませんか?

(text.substr(0, 1) == " ") 
+1

ですか?文字列 "AAAk"、 "1234"、 "ASJA"は最初の文字として "%"、 "@"または ""(スペース)を持たないので、if条件はfalseになります。あなたはそれが真実であることを望みますか? – nnnnnn

+0

これらの値 'AAAK、1234、ASJA'はプレフィックスとしてスペースを含んでいますか? http://jsfiddle.net/g4CJL/1/ – codef0rmer

答えて

1

明らかにそれはあなたが「有効でない」とはどういう意味ですか

alert("AAAk".substr(0,1)==" ");​​​​​​ //false 
alert(" AAAk".substr(0,1)==" "); //true 
-1

==の代わりに===を使用すると、double equalsもfalseのスペースに一致します。 AAAkの最初の文字が空白ではないので

+0

これは一般的な意味では当てはまるかもしれませんが、質問とは何が関係していますか?表示されているコードは、1文字の文字列と空白を 'false'を比較しないで比較しています... – nnnnnn

+0

text.substrが失敗した場合に偽陽性を避けると思っていましたが、そうです。彼が与えた例を解決する。 –

関連する問題