2012-03-18 34 views

回答

2

你在你的正則表達式的左括號,但沒有右括號。

我覺得你真的這是什麼:

var test = $("#k_w").val().search("sinh\\("+parseFloat(sinh_array[i]) + "\\)"); 

要符合實際的括號,而不是創建一個組,我懷疑。

0

你必須在正則表達式中隱藏圓括號;否則他們開始一個比賽組,因此必須再次關閉。

var test = $("#k_w").val().search("sinh\\("+parseFloat(sinh_array[i])); 
+0

在字符串文字中,需要使用雙反斜槓來轉義特殊的RegEx字符(例如括號)。 – 2012-03-18 20:03:01

+0

僅適用於其他控制字符的字符。 – ThiefMaster 2012-03-18 20:21:55

+0

'RegExp(「sinh \(」)' - >'SyntaxError:unterminated parenthetical'。它應該是'sinh \\(',如在接受的答案中。 – 2012-03-18 20:24:10

5

String.search方法將第一個參數轉換爲正則表達式。

您正在尋找String.indexOf方法,它可以搜索字符串,而無需轉換爲RegExp。

var test = $("#k_w").val().indexOf("sinh("+parseFloat(sinh_array[i])); 
//       ^^^^^^^ indexOf