我很难写出这个问题。假设您在数据库中有两件事:
- “字符串”
- “字符串”
在PHP中,您使用此: “SELECT * WHERE string = stri%”
这将返回数据库中的两个字符串,因为% [百分号]是负责检查值是否具有这四个字母[stri]并接受它们,因为其余的没有没关系。
这不是问题。在jQuery中有类似 [%] 的东西吗?
我有以下代码。
if (ext == "jpg" || ext == "gif") {
} else {
ext = ext + ".jpg";
}
很多时候,我的JSON可能会返回这样的内容:
nameofimage。的 JPG?1
这是被忽略的,因为 jpg?1 NOT 等于 jpg ,但它仍然是jpg。这就是我要问的原因......有没有什么可以用来检查扩展名的前三个字母并忽略其余的字母?
这样的事情:
if (ext == "jpg%" || ext == "gif%") {
//Do nothing, it's already a jpg or a gif
} else {
ext = ext + ".jpg";
}
我尽力以正确的方式说出来。我希望这里有人可以帮助我。谢谢。
答案 0 :(得分:2)
if(ext.contains(".jpg") || ext.contains(".gif")) {
答案 1 :(得分:0)
我认为您正在寻找的方法是indexOf():
if (ext.indexOf('jpg') !== -1 || ext.indexOf('gif') !== -1) {
// true
}
然而,不仅要检查扩展名,还要检查整个文件名,这样会更清晰,更安全。想象一下这个文件名:“somejpg.exe”。上述方法会将其视为“jpg”,而不是。最容易使用这些事情的正则表达式:
/\.(jpg|gif|png|bmp)$/.test('test.png'); // => true
/\.(jpg|gif|png|bmp)$/.test('test.gif'); // => true
/\.(jpg|gif|png|bmp)$/.test('hack_jpg.exe'); // => false