js判断字符串中有BOOK
时间: 2024-09-27 21:01:08 浏览: 29
在JavaScript中,你可以使用`includes()`、`indexOf()`、`search()` 或者正则表达式来判断一个字符串是否包含特定的子串"BOOK"。以下是几种方法:
1. `includes()` 方法:
```javascript
let str = "I love reading books.";
if (str.includes("BOOK")) {
console.log('字符串中含有 "BOOK"');
} else {
console.log('字符串中不含 "BOOK"');
}
```
2. `indexOf()` 方法:
```javascript
if (str.indexOf("BOOK") !== -1) {
// 存在
} else {
// 不存在
}
```
3. `search()` 方法(同上):
```javascript
if (str.search(/BOOK/) !== -1) {
// 匹配成功
}
```
4. 使用正则表达式:
```javascript
let regex = /BOOK/;
if (regex.test(str)) {
// 字符串中包含 "BOOK"
}
```
相关问题
<?php echo "<script> var bookid = prompt('请输入要删除的图书编号:'); </script>"; $book = $_GET['name']; header ( "Content-type: text/html; charset=utf-8" ); //设置文件编码格式 include_once("con_books.php");//连接数据库 if($bookid) //判断用户是否提交了要删除的图书编号 {//拼接、生成删除操作命令字符串 $sql = "delete from books where bookid = '".$bookid."'"; $result = mysqli_query($conn,$sql); //执行删除操作 if($result) {echo "<script>alert('图书编号为".$bookid."的数据记录已删除成功')</script>";} else{echo "删除失败"; } } else {echo "<a href='searchdel.php'>请输入要删除的图书编号</a>";} ?>为什么php接收不到js的数据?
根据你的代码,JavaScript中定义了一个变量`bookid`并赋值,但是在JavaScript中并没有将这个变量发送到后台PHP脚本。在PHP中使用`$_GET['name']`获取数据时,实际上是从URL中获取参数名为`name`的值,而在JavaScript中并没有将`bookid`的值作为`name`参数的值传递给PHP。
你可以修改JavaScript代码,将`bookid`的值作为参数发送到PHP后台。修改后的代码如下:
```php
<?php
if(isset($_GET['name'])) {
$bookid = $_GET['name'];
// ...
} else {
echo "<a href='searchdel.php'>请输入要删除的图书编号</a>";
}
?>
<script>
var bookid = prompt('请输入要删除的图书编号:');
if(bookid) {
window.location.href = "delete.php?name=" + bookid;
}
</script>
```
在JavaScript中,将`bookid`的值作为参数`name`的值传递给PHP后台。在PHP中,使用`isset($_GET['name'])`来判断是否接收到了`name`参数的值,如果接收到了,则将其赋值给变量`$bookid`并进行后续的处理。
Hash.on('^page\/([0-9]*)$', { yep: function(path, parts) { var page = parts[1]; if (page!==undefined) { if ($('.sj-book').turn('is')) $('.sj-book').turn('page', page); } }, nop: function(path) { if ($('.sj-book').turn('is')) $('.sj-book').turn('page', 1); } });
这段代码使用了 Hash.js 库来监听 URL 中以 `'page/'` 开头的路径,并根据路径中的页码参数来操作 `.sj-book` 元素。
以下是代码的详细解释:
1. `Hash.on('^page\/([0-9]*)$', { yep: function(path, parts) { ... }, nop: function(path) { ... } });` 使用 Hash.js 库的 `on()` 方法来监听 URL 中以 `'page/'` 开头的路径。
2. 当匹配到符合规则的路径时,会执行 `yep` 回调函数,传递两个参数 `path` 和 `parts`。`path` 是匹配到的路径字符串,`parts` 是从路径中提取的部分。
3. 在 `yep` 回调函数中,首先从 `parts` 数组中取出第一个元素作为页码 `page`。
4. 如果页码 `page` 不是未定义的(即存在),则继续执行下面的代码块。
5. 判断 `.sj-book` 元素是否存在并且已经初始化(使用了 `.turn('is')` 方法)。如果是,则调用 `.turn('page', page)` 方法将 `.sj-book` 元素翻到指定页码 `page`。
6. 在 `nop` 回调函数中,如果 URL 中匹配不到符合规则的路径,则执行下面的代码块。
7. 同样地,判断 `.sj-book` 元素是否存在并且已经初始化。如果是,则调用 `.turn('page', 1)` 方法将 `.sj-book` 元素翻到第一页。
这段代码的作用是根据 URL 中的路径来操作 `.sj-book` 元素,根据页码参数来翻到指定页码。如果 URL 中没有匹配到符合规则的路径,则默认翻到第一页。通过监听 URL 的变化,可以实现根据 URL 来控制页面的翻页行为。
阅读全文