如何在jQuery中检查一个字符串的开始/结束与一个特定的字符串
JavaScript提供了大量的字符串方法来检查一个字符串是否是其他字符串的子串。因此,jQuery完全没有必要去执行这个任务。然而,我们将涵盖所有不同的方法来检查一个字符串是否以一个字符串开始或结束。
- startsWith()和endsWith()方法
- search() method
- indexOf() method
- substring() method
- substr() method
- slice() method
让我们考虑一个字符串str = “Welcome to GEEKS for GEEKS!!!”。现在我们要找出字符串str是否以startword = “Welcome “开始,以endword = “!!”结束。
步骤:
startsWith() 和 endsWith()方法:它检查一个字符串是否以特定的子串开始或结束。
示例:
if (str.startsWith(startword) && str.endsWith(endword)) {
// case sensitive
console.log("Yes, The string " + str + " starts with "
+ startword + " and ends with " + endword);
}
search()方法:它检查一个特定的字符串是否包含在另一个字符串中,并返回该子串的起始索引。
示例:
if (str.search(startword)==0 &&
str.search(endword)==stringlength-endwordlength ) {
// case sensitive
console.log("Yes, The string " + str + " starts with "
+ startword + " and ends with " + endword);
}
indexOf()方法:顾名思义,它找到字符串中子串的起始索引。
示例:
if (str.indexOf(startword)==0 &&
str.indexOf(endword)==stringlength-endwordlength) {
console.log("Yes, The string " + str + " starts with "
+ startword + " and ends with " + endword);
}
substring()方法:它返回一个存在于开始和结束索引之间的字符串。
示例:
if(str.substring(0, startwordlength)==startword
&& str.substring(stringlength-endwordlength,
stringlength)==endword) {
console.log("Yes, The string " + str + " starts with "
+ startword + " and ends with " + endword);
}
substr()方法:它与substring()方法相似,但需要子串的起始索引和长度作为参数。
示例:
if(str.substr(0, startwordlength)==startword
&& str.substr(stringlength-endwordlength,
endwordlength)==endword) {
console.log("Yes, The string " + str + " starts with "
+ startword + " and ends with " + endword);
}
slice()方法:该方法返回字符串中任意两个索引之间的字符串片断。
示例:
if(str.slice(0, startwordlength)==startword
&& str.slice(stringlength-endwordlength,
stringlength)==endword) {
console.log("Yes, The string " + str + " starts with "
+ startword + " and ends with " + endword);
}
让我们以h1元素中的文本为例,检查它是否以给定的子串开始和结束。
<!DOCTYPE html>
<html>
<head>
<title>
How to know that a string starts/ends
with a specific string in jQuery?
</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
</script>
</head>
<body>
<h1 id="text">
Welcome To GEEKS FOR GEEKS!!!
</h1>
<h2>
Check whether a word is present
in the above sentence
</h2>
<input type="text" id="startkey">
<input type="text" id="endkey">
<button onclick="MyFunction()"> Check </button>
<h2> startsWith() and endsWith() method </h2>
<h2 id="startswith"> </h2>
<h2> indexOf() method </h2>
<h2 id="indexOf"></h2>
<h2> search() method </h2>
<h2 id="search"></h2>
<h2> substring() method </h2>
<h2 id="substring"></h2>
<h2> substr() method </h2>
<h2 id="substr"> </h2>
<h2> slice() method </h2>
<h2 id="slice"></h2>
<script>
var str = document.getElementById("text").innerText;
stringlength = str.length;
var startword = "";
var endword = "";
function MyFunction() {
startword = document.getElementById("startkey").value;
endword = document.getElementById("endkey").value;
console.log(startword);
console.log(endword)
startwordlength = startword.length;
endwordlength = endword.length;
if (str.startsWith(startword) && str.endsWith(endword)) {
// case sensitive
var h2 = document.getElementById("startswith");
h2.innerHTML =
"Yes, The string " + str + " starts with "
+ startword + " and ends with " + endword;
}
else {
var h2 = document.getElementById("startswith");
h2.innerHTML =
"No, The string " + str +
" doesn't start and endwith the given words";
}
//Js
if (str.indexOf(startword) == 0 && str.indexOf(
endword) == stringlength - endwordlength) {
var h2 = document.getElementById("indexOf");
h2.innerHTML =
"Yes, The string " + str + " starts with "
+ startword + " and ends with " + endword;
}
else {
var h2 = document.getElementById("indexOf");
h2.innerHTML =
"No, The string " + str +
" doesn't start and endwith the given words";
}
//Js
if (str.search(
startword) == 0 && str.search(endword)
== stringlength - endwordlength) {
// case sensitive
var h2 = document.getElementById("search");
h2.innerHTML = "Yes, The string " + str +
" starts with " + startword +
" and ends with " + endword;
}
else {
var h2 = document.getElementById("search");
h2.innerHTML = "No, The string " + str +
" doesn't start and endwith the given words";
}
//Js
if (str.substring(
0, startwordlength) == startword && str.substring(
stringlength - endwordlength, stringlength) == endword) {
var h2 = document.getElementById("substring");
h2.innerHTML =
"Yes, The string " + str + " starts with "
+ startword + " and ends with " + endword;
}
else {
var h2 = document.getElementById("substring");
h2.innerHTML =
"No, The string " + str +
" doesn't start and endwith the given words";
}
if (str.substr(
0, startwordlength) == startword && str.substr(
stringlength - endwordlength, endwordlength) == endword) {
var h2 = document.getElementById("substr");
h2.innerHTML =
"Yes, The string " + str + " starts with "
+ startword + " and ends with " + endword;
}
else {
var h2 = document.getElementById("substr");
h2.innerHTML =
"No, The string " + str +
" doesn't start and endwith the given words";
}
if (str.slice(
0, startwordlength) == startword && str.slice(
stringlength - endwordlength, stringlength) == endword) {
var h2 = document.getElementById("slice");
h2.innerHTML =
"Yes, The string " + str + " starts with " +
startword + " and ends with " + endword;
}
else {
var h2 = document.getElementById("slice");
h2.innerHTML =
"No, The string " + str +
" doesn't start and endwith the given words";
}
}
</script>
</body>
</html>
输出: