js is_valid_filename验证文件名的函数
函数代码
function is_valid_filename($name)
{
$parts = preg_split("/(\/|".preg_quote("\\").")/", $name);
if (preg_match("/[a-z]:/i", $parts[0])) {
unset($parts[0]);
}
foreach ($parts as $part)
{
print "part = '$part'<br>";
if (preg_match("/[".preg_quote("^|?*<\":>", "/")."\a\b\c\e\x\v\s]/", $part) || preg_match("/^(PRN|CON|AUX|CLOCK$|NUL|COMd|LPTd)$/im",
str_replace(".", "\n", $part))) {
return false;
}
}
return true;
}
$bad = array_merge(array_map('chr', range(0, 31)), array("<", ">", ":", '"', "/", "\\", "|", "?", "*"));
$result = str_replace($bad, "", $filename);
windows 系统文件命名规则限制
相关推荐
-
js is_valid_filename验证文件名的函数
函数代码 function is_valid_filename($name) { $parts = preg_split("/(\/|".preg_quote("\\").")/", $name); if (preg_match("/[a-z]:/i", $parts[0])) { unset($parts[0]); } foreach ($parts as $part) { print "part = '$part
-
js form 验证函数 当前比较流行的错误提示
前段时间写了一个 js数据验证.js email验证.js url验证.js长度验证.js数字验证等 弹出对话框形式的 但是,现在不太流行那种很不友好的方式,于是重写了一个,封装得更加好的,更友好的层形式 共享给大家,如果大家使用有bug,请大家给我留言完善,谢谢了. 保存为 test.js 复制代码 代码如下: /** * 数据验证框架.增加了对id字段检查出错时,直接在对应后面添加一< span>元素来显示错误信息. * * @author wangzi6hao * @version 2.
-
纯js封装的ajax功能函数与用法示例
本文实例讲述了纯js封装的ajax功能函数与用法.分享给大家供大家参考,具体如下: AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)AJAX 不是新的编程语言,而是一种使用现有标准的新方法.是7种技术的综合,它包含了七个技术(javascript xml xstl xhtml dom xmlhttprequest , css), ajax 是一个粘合剂. 直接上程序: js调用部分: <script src="ds
-
Nest.js 授权验证的方法示例
0x0 前言 系统授权指的是登录用户执行操作过程,比如管理员可以对系统进行用户操作.网站帖子管理操作,非管理员可以进行授权阅读帖子等操作,所以实现需要对系统的授权需要身份验证机制,下面来实现最基本的基于角色的访问控制系统. 0x1 RBAC 实现 基于角色的访问控制(RBAC)是围绕角色的特权和定义的策略无关的访问控制机制,首先创建个代表系统角色枚举信息 role.enum.ts: export enum Role { User = 'user', Admin = 'admin' } 如果是更复
-
Java实现验证文件名有效性的方法详解
目录 使用java.io.File 使用 NIO2 API 自定义的实现 使用String.contains 正则表达式模式匹配 总结 在本文中,我们将讨论使用 Java 验证一个给定的字符串是否具有操作系统的有效文件名的不同方法.我们可以根据限制的字符或长度限制来检查该值. 我们将只关注核心解决方案,不使用任何外部依赖.我们将使用JDK的java.io和NIO2包来实现我们验证方法.. 使用java.io.File 让我们从第一个例子开始,使用 java.io.File 类.在这个解决方案中,
-
一个容易犯错的js手机号码验证正则表达式(推荐)
写一个简单的正则表达式,用来校验11位手机号码,开头允许是13.15.18,我一开始这样写: var reg = /^(13[0-9]{9})|(15[0-9]{9})|(18[0-9]{9})$/; 运行发现,即使是 13988888877157777,也能通过验证,这说明这个写法错了,我的本意是希望这样: ^(13[0-9]{9})$ 或者 ^(15[0-9]{9})$ 或者 ^(18[0-9]{9})$ 所以正确写法是:var reg = /^1[358][0-9]{9}$/;这样才能保证
-
详解js中class的多种函数封装方法
本文实例讲解了js中class的多种函数封装方法,分享给大家供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>关于class的多种函数封装</title> <style> body{ margin: 0; } li{ height: 20px; } </style
-
js循环动态绑定带参数函数遇到的问题及解决方案[转]
众所周知,不带参数的绑定非常简单,只要使用(语法:"document.getElementById("对象ID名").attachEvent("事件名,如onchange",函数名);")(示例:"document.getElementById("select_0").attachEvent("onchange",modifyFunction);")即可.(注:以下只写示例) 带参数的绑
-
JS正则表达式验证密码格式的集中情况总结
1.密码必须为6-18位字母.数字.特殊符号的: var reg =/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{6,18}$/; 2.密码必须为6-18位字母.数字 var reg=/^(?![^a-zA-Z]+$)(?!\D+$)/ 3.支持字母.数字.标点符号.特殊字符 var reg=/^(?:(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])|(?=.*[A-Z])(?
-
JS中的Replace()传入函数时的用法详解
replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则表达式对象(RegExp)也可以是字符串(string),replaceText是替代查找到的字符串.. 废话不多说了,直接给大家贴代码了,具体代码如下所示: <script> var str = "a1ba2b"; var reg = /a.b/g; str = str.replace(reg,func
随机推荐
- 一些很有用的SQLite命令总结
- JS类中定义原型方法的两种实现的区别
- 详解Vue 非父子组件通信方法(非Vuex)
- 深入理解linux下查看进程内存的使用情况
- 使用批处理修改web打印设置笔记 适用于IE
- iOS应用开发中的文字选中操作控件UITextView用法讲解
- python itchat实现微信好友头像拼接图的示例代码
- JavaScript的null和undefined区别示例介绍
- ASP.NET 定制简单的错误处理页面实现代码
- Ext.net中的MessageBox的简单应用实现代码
- Spring Quartz2 动态任务的实例详解
- MYSQL GROUP BY用法详解
- js 处理数组重复元素示例代码
- Python中的time模块与datetime模块用法总结
- NextRecordset 和 GetRows 双簧合奏
- 多用多学之Java中的Set,List,Map详解
- Python构造函数及解构函数介绍
- mysql字符串的‘123’转换为数字的123的实例
- jquery实现预览提交的表单代码分享
- JavaScript tab选项卡插件实例代码
