我正在檢查多行文本框中任何非字母數字字符的字符串的第一個字符。如果我通過這個字符串,我會得到一些命中。JavaScript正則表達式給出誤報
ATest
BTest2
CAnother1
DThen some
2 More to go
FAny other some-day
這裏的javascript代碼:
function CheckFirstAlphaNum(textToTest, valueLabel, pattern, warningMessage)
{
var textValues = textToTest.split("\n");
pattern = pattern || /([A-Za-z0-9]+)/gm;
warningMessage = warningMessage || "The first character of a value in '" + valueLabel + "' has an invalid character. Please consider revising it."
var goodText = true;
for (var i = 0; i < textValues.length; ++i) {
//alert(textValues[i]);
var firstChar = textValues[i].substring(0, 1);
if (!pattern.test(firstChar)) {
alert(firstChar);
alert(pattern);
goodText = false;
}
}
if (goodText != true) { alert(warningMessage); }
return goodText;
}
任何想法,爲什麼?它在B,D和F上失敗,所以它看起來像其他任何一行。
它可能是相關的行結尾。有些系統使用'\ r \ n'結尾,如果你只是在'\ n'上分割,你的字符串中可能會有一些麻煩的空白。試試這個'var firstChar = textValues [i] .trim()。substring(0,1);' – dan08