![](/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.