客户端javascript验证
我正在使用asp.net做一个简单的项目,我已经创建了一个表单,用户可以在其中上传文件。在将数据存储到客户端之前,我做了一个变通方法,检查文件扩展名,如果文件不是映像,则停止回发客户端javascript验证,javascript,asp.net,validation,Javascript,Asp.net,Validation,我正在使用asp.net做一个简单的项目,我已经创建了一个表单,用户可以在其中上传文件。在将数据存储到客户端之前,我做了一个变通方法,检查文件扩展名,如果文件不是映像,则停止回发 函数checkFileExtension(){ var file=document.getElementById('FileUpload1')。值; var lastIndex=file.lastIndexOf(“.”); var fileExt=file.substr(lastIndex+1).toLowerCas
函数checkFileExtension(){
var file=document.getElementById('FileUpload1')。值;
var lastIndex=file.lastIndexOf(“.”);
var fileExt=file.substr(lastIndex+1).toLowerCase();
var IsValidEvention=0;
var i;
var extArray=[“jpg”、“png”、“gif”、“jpeg”];
对于(i=0;i
添加
您可以试试这个
function checkFileExtention() {
var file = document.getElementById('FileUpload1').value;
if (file != "") {
var fileExt = file.match(/\.([^\.]+)$/)[1];
var isValidExtention=0;
var i;
var extArray = ["jpg", "png", "gif", "jpeg"];
for (i = 0; i < extArray.Length; i++) {
if (fileExt.toLowerCase() == extArray[i]) {
isValidExtention = 1;
document.getElementById("demo").innerText = "";
break;
}
else {
document.getElementById("demo").innerText = "invalid";
isValidExtention = 0;
}
}
});
你可以试试这个
function checkFileExtention() {
var file = document.getElementById('FileUpload1').value;
if (file != "") {
var fileExt = file.match(/\.([^\.]+)$/)[1];
var isValidExtention=0;
var i;
var extArray = ["jpg", "png", "gif", "jpeg"];
for (i = 0; i < extArray.Length; i++) {
if (fileExt.toLowerCase() == extArray[i]) {
isValidExtention = 1;
document.getElementById("demo").innerText = "";
break;
}
else {
document.getElementById("demo").innerText = "invalid";
isValidExtention = 0;
}
}
});
代码中唯一的问题是有点小错误,比如使用“长度”而不是“长度”。我修改了你的代码,请看一下
function checkFileExtention() {
var file = document.getElementById('FileUpload1').value;
var lastIndex = file.lastIndexOf(".");
var fileExt = file.substr(lastIndex + 1).toLowerCase();
var isValidExtention = false;
var i;
var extArray = ["jpg", "png", "gif", "jpeg"];
for (i = 0; i < extArray.length; i++) {
if (fileExt == extArray[i]) {
isValidExtention = true;
document.getElementById("demo").innerText = "";
break;
}
else {
document.getElementById("demo").innerText = "invalid";
}
}
return isValidExtention;
}
函数checkFileExtension(){
var file=document.getElementById('FileUpload1')。值;
var lastIndex=file.lastIndexOf(“.”);
var fileExt=file.substr(lastIndex+1).toLowerCase();
var IsValidEvention=假;
var i;
var extArray=[“jpg”、“png”、“gif”、“jpeg”];
对于(i=0;i
代码中唯一的问题是有点小错误,比如使用“长度”而不是“长度”。我修改了你的代码,请看一下
function checkFileExtention() {
var file = document.getElementById('FileUpload1').value;
var lastIndex = file.lastIndexOf(".");
var fileExt = file.substr(lastIndex + 1).toLowerCase();
var isValidExtention = false;
var i;
var extArray = ["jpg", "png", "gif", "jpeg"];
for (i = 0; i < extArray.length; i++) {
if (fileExt == extArray[i]) {
isValidExtention = true;
document.getElementById("demo").innerText = "";
break;
}
else {
document.getElementById("demo").innerText = "invalid";
}
}
return isValidExtention;
}
函数checkFileExtension(){
var file=document.getElementById('FileUpload1')。值;
var lastIndex=file.lastIndexOf(“.”);
var fileExt=file.substr(lastIndex+1).toLowerCase();
var IsValidEvention=假;
var i;
var extArray=[“jpg”、“png”、“gif”、“jpeg”];
对于(i=0;i
请检查以下代码。在上传文件之前,我们限制文件是否为图像
var oFileIn = document.getElementById('fileupload');
if (oFileIn.addEventListener) {
oFileIn.addEventListener('change', filePicked, false);
}
function filePicked(event) {
var files = event.target.files;
var regex = new RegExp("(.*?)\.(png|gif|jpg|jpeg)$");
if (!(regex.test(files[0].name)))
{
alert('Please select image files');
var oFileIn = document.getElementById('fileupload');
oFileIn.value='';
return;
}
}
我希望这对你有帮助
谢谢和问候
Angappan.S请检查以下代码。在上传文件之前,我们限制文件是否为图像
var oFileIn = document.getElementById('fileupload');
if (oFileIn.addEventListener) {
oFileIn.addEventListener('change', filePicked, false);
}
function filePicked(event) {
var files = event.target.files;
var regex = new RegExp("(.*?)\.(png|gif|jpg|jpeg)$");
if (!(regex.test(files[0].name)))
{
alert('Please select image files');
var oFileIn = document.getElementById('fileupload');
oFileIn.value='';
return;
}
}
我希望这对你有帮助
谢谢和问候
Angapan.S试试这个:
const regex = /.+\.(jpg|jpeg|gif|png)\s*$/mig;
const str = `image.jpg
image.notmatching
capitalLetterFormat.PNG
.jpg
`;
它检查以下各项:
const regex = /.+\.(jpg|jpeg|gif|png)\s*$/mig;
const str = `image.jpg
image.notmatching
capitalLetterFormat.PNG
.jpg
`;
它检查以下各项:
ValidExtension在循环外始终为0这意味着什么?您从未在任何地方使用过
isValidExtension
,那么您如何知道它始终为0?如果返回布尔值并使用它,为什么需要这个整数?每次调用checkFileExtension
时,它都会被重置为零,正如在函数中声明的那样(var isvalidExtension=0;
)。总之,这个问题非常不清楚,需要大量的澄清/明确的问题陈述。if(!checkFileExtention()){return false;}
应该是return checkFileExtention()
。我认为这可能是您的问题,因为目前无法返回true
。尽管如此,以上所有内容仍然相关。您是否使用以下行获取文件:var file=document.getElementById('FileUpload1').value@Liam我尝试了几次在循环内外调试代码,因为我不能显示警报也不能设置文本值,后来我使用IsValidExtension检查文件大小。顺便说一句,我将其更改为返回CheckFileExtension(),仍然不工作数组中有一个名为includes()
的方法,如果数组中存在某个元素,该方法将返回true。因此return[“jpg”、“png”、“gif”、“jpeg”].includes(file.substr(lastIndex+1).toLowerCase())
几乎是一样的。IsValidExtension总是0在循环之外这意味着什么?您从未在任何地方使用过isValidExtension
,那么您如何知道它始终为0?如果返回布尔值并使用它,为什么需要这个整数?每次调用checkFileExtension
时,它都会被重置为零,正如在函数中声明的那样(var isvalidExtension=0;
)。总之,这个问题非常不清楚,需要大量的澄清/明确的问题陈述。if(!checkFileExtention()){return false;}
应该是return checkFileExtention()
。我认为这可能是您的问题,因为目前无法返回true
。尽管如此,以上所有内容仍然相关。您是否使用以下行获取文件:var file=document.getElementById('FileUpload1').value@Liam我尝试了几次在循环内外调试代码,因为我不能显示警报也不能设置文本值,我使用了IsValidEvent