正则表达式 作者: rontian 时间: 2021-06-01 分类: Others 评论 ### 校验数字的表达式 ``` 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$ 正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$ 有两位小数的正实数:^[0-9]+(\.[0-9]{2})?$ 有1~3位小数的正实数:^[0-9]+(\.[0-9]{1,3})?$ 非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$ 非零的负整数:^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$ 非负整数:^\d+$ 或 ^[1-9]\d*|0$ 非正整数:^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$ 非负浮点数:^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ 非正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ 正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ 浮点数:^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ ``` ### 校验字符的表达式 ``` 汉字:^[\u4e00-\u9fa5]{0,}$ 英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$ 长度为3-20的所有字符:^.{3,20}$ 由26个英文字母组成的字符串:^[A-Za-z]+$ 由26个大写英文字母组成的字符串:^[A-Z]+$ 由26个小写英文字母组成的字符串:^[a-z]+$ 由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$ 中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$ 中文、英文、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$ 可以输入含有^%&',;=?$\"等字符:[^%&',;=?$\x22]+ 禁止输入含有~的字符:[^~\x22]+ ``` ### 其他 ``` Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.? InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ 手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$ 电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$ 国内电话号码(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7} 电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号): ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$) 身份证号(15位、18位数字),最后一位是校验位,可能为数字或字符X:(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$) 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$ 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在 8-10 之间):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$ 强密码(必须包含大小写字母和数字的组合,可以使用特殊字符,长度在8-10之间):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ 日期格式:^\d{4}-\d{1,2}-\d{1,2} 一年的12个月(01~09和1~12):^(0?[1-9]|1[0-2])$ 一个月的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$ ``` > https://blog.csdn.net/star094606/article/details/94589721
VS Code代码块变量 作者: rontian 时间: 2018-12-08 分类: Others 评论 ```javascript const snippetDes = [ "TM_SELECTED_TEXT", "TM_CURRENT_LINE", "TM_CURRENT_WORD", "TM_LINE_INDEX", "TM_LINE_NUMBER", "TM_FILENAME", "TM_FILENAME_BASE", "TM_DIRECTORY", "TM_FILEPATH", "CLIPBOARD", "CURRENT_YEAR", "CURRENT_YEAR_SHORT", "CURRENT_MONTH", "CURRENT_MONTH_NAME", "CURRENT_MONTH_NAME_SHORT", "CURRENT_DATE", "CURRENT_DAY_NAME", "CURRENT_DAY_NAME_SHORT", "CURRENT_HOUR", "CURRENT_MINUTE", "CURRENT_SECOND" ]; const snippetDes = [ "当前选定的文本或空字符串", "当前行的内容", "光标下的单词内容或空字符串", "基于零索引的行号", "基于单索引的行号", "当前文档的文件名", "没有扩展名的当前文档的文件名", "当前文档的目录(DIRname)", "当前文档的完整文件路径", "剪贴板的内容", "本年度(YYYY)", "本年度的最后两位数", "月份为两位数(例如'02')", "月份的全名(例如'July')", "月份的简称(例如'Jul')", "这个月的哪一天(10)", "一天的名字(例如'Monday')", "当天的简称(例如'Mon')", "24小时时钟格式的当前小时('14')", "当前时间的——分钟('10')", "当前时间的——秒('59')" ]; ```
Nano 编辑器快捷键 作者: rontian 时间: 2018-06-25 分类: Others 评论 ``` ^G (F1) 显示帮助 ^X (F2) 关闭当前文件缓冲区 / 离开 nano ^O (F3) 写入当前文件至磁盘 ^J (F4) 对齐当前段落 ^R (F5) 插入其他文件至当前文件 ^W (F6) 查找字符串或正则表示式 ^Y (F7) 跳至前一屏 ^V (F8) 跳至后一屏 ^K (F9) 剪切当前这行并存至剪贴板 ^U (F10) 从剪贴板粘贴至当前行 ^C (F11) 显示光标位置 ^T (F12) 尝试运行拼写检查 M-\ (M-|) 跳至文件第一行 M-/ (M-?) 跳至文件最后一行 ^_ (F13) (M-G) 跳至指定行与列位置 ^\ (F14) (M-R) 替换字符串或正则表示式 ^^ (F15) (M-A) 标记游标所在文字 M-W (F16) 重复上次搜索 M-^ (M-6) 拷贝当前行至剪贴板 M-} 缩进当前行 M-{ 取消缩进当前行 ^F 向前跳一字符 ^B 向后跳一字符 ^Space 向前跳一个词 M-Space 向后跳一个词 ^P 跳至前一行 ^N 跳至后一行 ^A 跳至当前行首 ^E 跳至当前行尾 M-( (M-9) 跳至当前段落开头,如已在段落开头,则调至上一段落起始处 M-) (M-0) 跳至当前段落结尾,如已在段落结尾,则调至下一段落结尾 M-] 移动至对应括号 M-- (M-_) 向上卷动一行但不卷动游标 M-+ (M-=) 向下卷动一行但不卷动游标 M-< (M-,) 切换至上个文件缓冲区 M-> (M-.) 切换至下个文件缓冲区 M-V 插入下一按键原型 ^I 插入制表符于游标位置 ^M 插入新行于游标位置 ^D 删除游标之下的字符 ^H 删除游标左侧的字符 M-T 从游标位置剪切至文件结尾 M-J 对齐整个文件 M-D 计算字数、行数与字符数 ^L 重新显示当前画面 ^Z 暂停编辑器(如果启用了暂停) (M-X) 辅助模式 启用/关闭 (M-C) 持续显示游标位置 启用/关闭 (M-O) 编辑时使用多一行 启用/关闭 (M-S) 平滑式卷动画面 启用/关闭 (M-P) 显示空格 启用/关闭 (M-Y) 语法色彩高亮 启用/关闭 (M-H) 智能HOME 键 启用/关闭 (M-I) 自动缩进 启用/关闭 (M-K) 剪切至行尾 启用/关闭 (M-L) 长行转换 启用/关闭 (M-Q) 已输入制表符至空白的转换 启用/关闭 (M-B) 备份文件 启用/关闭 (M-F) 多重文件缓冲区 启用/关闭 (M-M) 鼠标支持 启用/关闭 (M-N) 不从 DOS/Mac 格式转换 启用/关闭 (M-Z) 暂停 启用/关闭 (M-$) 软换行 启用/关闭 ```