我的问题是我要求用户从网页上传文档,文档可能是pdf格式或docx格式。
我想检查的是文件中是否有任何电子邮件。如果它在那里,那么我必须删除它。
例如abc@xyz.com或abc @ xyz或abcATxyz。
所以我必须在文档中寻找电子邮件存在的所有可能性。我怎么能用jQuery或简单的javascript做到这一点。我正在使用Laravel Framework进行Web应用程序,所以有什么方法/方法可以使用laravel框架或php来检查这个吗?请帮助我!!!我不知道这个......
答案 0 :(得分:1)
请注意,DOCX文件是压缩存档。使用正则表达式搜索电子邮件地址不会因压缩而产生任何结果。您需要先解压缩文件,然后搜索相应的XML文件。您可能想要检查Word是否也对XML文件中的电子邮件地址进行编码。在XML文件中找到地址后,您可以保存删除它并使用提取的文件创建新的zip文件。
我不确定如何实施PDF。所以我不能告诉你,如果电子邮件地址在那里写成纯文本。 PHP有几个PDF库,因此您可以检查它们以查看它们是否提供所需的功能。在packagist.org上快速搜索应该为您提供一些替代方案。
答案 1 :(得分:0)
您无法使用 Javascript / JQuery 打开文件:前端语言(VB脚本除外)无法访问客户端的读/写文件
您必须在服务器上传文件,在后端对其执行 ReGex 以验证电子邮件的存在,如果是,则接受文件,否则使用PHP删除文件发送带有NOT-ACCEPTED消息的JSON响应
有很多好的正则表达式可以检查邮件,这里有一个例子:
#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#
答案 2 :(得分:0)
已经有关于DOCX的答案了,所以让我说对于PDF来说情况完全一样。 PDF文件不是一些可以使用正则表达式搜索的简单文本文件。该文件具有面向对象的格式,几乎任何对象都可以使用各种压缩过滤器进行压缩。最重要的是,页面的实际内容由PostScript-ish格式的运算符组成,文本可以以您的正则表达式找不到的各种方式呈现在页面上。
PDF的唯一解决方案是使用了解PDF格式的库,并使用它从PDF中提取文本或在PDF中搜索(许多库支持可用于您的用例的一个或另一个功能)。