![](/img/trans.png)
[英]compare part of string from dropdown with a textbox in javascript
[英]Compare part of string in JavaScript
我如何比較字符串的一部分 - 例如,如果我想比較字符串A是字符串B的一部分我想知道:當string A = "abcd"
和string B = "abcdef"
它需要返回真實。 我如何在JavaScript中執行此操作? 如果我使用substring(start, end)
我不知道要傳遞給start
和end
參數的值。 有任何想法嗎?
你可以使用indexOf
:
if ( stringB.indexOf( stringA ) > -1 ) {
// String B contains String A
}
像這樣:
var str = "abcdef";
if (str.indexOf("abcd") >= 0)
請注意,這是區分大小寫的。 如果您想要不區分大小寫的搜索,可以編寫
if (str.toLowerCase().indexOf("abcd") >= 0)
要么,
if (/abcd/i.test(str))
對於不區分大小寫的搜索的通用版本,您可以設置任何大小寫的字符串
if (stringA.toLowerCase().indexOf(stringB.toLowerCase()) >= 0)
Javascript ES6 / ES2015具有String.includes()
, 除IE之外幾乎具有所有瀏覽器兼容性。 (但還有什么是新的?)
let string = "abcdef";
string.includes("abcd"); //true
string.includes("aBc"); //false - .includes() is case sensitive
"abcdef".indexOf("abcd") !== -1
應該沒問題
如果處理大字符串並且只需要驗證字符串的開頭,則使用indexOf或match會非常慢。 更好的解決方案是使用startsWith()或其等效函數 - 來自https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith :
if (!String.prototype.startsWith) {
String.prototype.startsWith = function(searchString, position){
position = position || 0;
return this.substr(position, searchString.length) === searchString;
};
}
您也可以嘗試javascript搜索
if( stringA.search(stringB) > -1){
}
使用正則表達式可能對您有所幫
var patt = new RegExp(stringA, 'i');
if(stringB.match(patt)){
return true;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.