0
我想檢查一個string
是否包含幾個符號中的任何一個,包括'$'
。
'abc'.search('$') //return 3
''.search('$') //return 0
我想知道爲什麼發生這種情況
我想檢查一個string
是否包含幾個符號中的任何一個,包括'$'
。
'abc'.search('$') //return 3
''.search('$') //return 0
我想知道爲什麼發生這種情況
從MDN:但string.prototype.search()
方法尋找'$'
例如,當返回最後一個字符指數+ 1
正則表達式
可選。一個正則表達式對象。如果傳遞非RegExp對象obj
,則通過使用new RegExp(obj)
將其隱式轉換爲RegExp
。
所以你調用等效於:
'abc'.search(/$/);
$
正則表達式的字符串的結尾相匹配。如果您希望禁用的特殊意義,你需要逃避它:
'abc'.search('\\$')
需要兩個\
字符:第一轉義字符串中的反斜槓文字,這則逃脫的正則表達式的美元符號。或者,你可以寫:
'abc'.search(/\$/)
'String.prototype.search'使用正則表達式:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/search - 我認爲你正在尋找'String.prototype.indexOf' – m90 2014-12-03 08:29:54
$匹配字符串的末尾,並且搜索返回匹配的位置 – dandavis 2014-12-03 08:30:52