js正则表达式实战

以下题目均参考菜鸟教程,本人对部分题目代码做了修改,如有谬误,还请留言指正。另外我还写了一篇文章讲正则表达式的基础知识,不了解正则的同学可以先看看那篇文章。js正则表达式基础

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>
        // 数字
        var reg = /^[0-9]+$/g;

        // 5位的数字
        var reg = /^\d{5}$/g;        

        // 至少5位的数字
        var reg = /^\d{5,}$/g;

        // 5 - 12位的数字
        var reg = /^\d{5,12}$/g;

        // 零和非零开头的数字
        var reg = /^(0|[1-9][0-9]*)$/g;
        var reg = /^\d+$/g;

        // 非零开头的最多带两位小数的数字
        var reg = /^[1-9][0-9]*(\.[0-9]{1,2})?$/g;

        // 带1 - 2 位小数的正数或负数
        var reg = /^(\-)?\d+(\.\d{1,2})$/g;

        // 正数、 负数、 和小数
        var reg = /^(\-)?\d+(\.\d+)?$/g;

        // 十六进制颜色
        var reg = /^#?([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/g; // 以#开头(可有可无),后面六个或三个数字或a-f的字符

        // 匹配纯汉字字符串
        var reg = /^[\u4e00-\u9fa5]+$/g;

        // 匹配英文或数字、
        var reg = /^[A-z0-9]+/g;

        // 长度为3 - 20 的所有字符
        var reg = /^.{3,20}/g;

        // 由数字、 26 个英文字母或者下划线组成的字符串
        var reg = /^\w+$/g;

        // 中文、 英文、 数字包括下划线
        var reg = /^[\u4e00-\u9fa5\w]+$/g;

        // 可以输入含有 ^ % & ',;=?$\"等字符
        var reg = /[\^%&',;=?$\"]+/g;

        // 禁止输入含有~的字符
        var reg = /[^~]/g;

        // Email地址
        var reg = /^[A-Za-z0-9._\-]+@[A-Za-z0-9._\-]+\.[A-Za-z]{2,6}$/g;
        var str = 'wu.jv-lao_123@dl.com';
        console.log(reg.test(str)); // true

        // url地址
        var reg = /^((https?|ftp|file):\/\/)?([\da-z\.\-]+)\.([a-z\.]{2,6})([\/\w\.\-]*)*\/?$/g;

        // 手机号码
        var reg = /^1[34578][0-9]{9}$/g; // 1 开头, 第二位数字是34578的一个, 一共11位数字

        // 国内电话号码(0511-4405222、021-87888822)
        var reg = /\d{3}-\d{8}|\d{4}-\d{7}/g;

        // 电话号码正则表达式( 支持手机号码, 3 - 4 位区号, 7 - 8 位直播号码, 1- 4 位分机号)
        var reg = /((\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}))$)/g;

        // 身份证号(15 位、 18 位数字), 最后一位是校验位, 可能为数字或字符X
        var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/g;

        // 帐号是否合法(字母开头, 允许5 - 16 字节, 允许字母数字下划线)
        var reg = /^[A-z][A-z0-9_]{4,15}$/g;

        // 密码(以字母开头, 长度在6~18 之间, 只能包含字母、 数字和下划线)
        var reg = /^[A-z]\w{5,17}$/g;

        // 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在 8-10 之间)
        var reg = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,10}$/g;

        // 强密码(必须包含大小写字母和数字的组合, 可以使用特殊字符, 长度在8 - 10 之间)
        var reg = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/g;

        // 日期格式
        var reg = /^\d{4}-\d{1,2}-\d{1,2}/g;

        // 一年的12个月(01~ 09 和1~ 12)
        var reg = /^(0?[1-9]|1[0-2])$/g;

        // 一个月的31天(01~ 09 和1~ 31)
        var reg = /^((0?[1-9])|((1|2)[0-9])|30|31)$/g;

        // 空白行的正则表达式
        var reg = /\n\s*\r/g;

        // 腾讯QQ号
        var reg = /^[1-9][0-9]{4,9}$/g;  // 第一个数不为0,一共5到10位数

        // 中国邮政编码(中国邮政编码为6位数字)
        var reg = /[1-9]\d{5}(?!\d)/g;

        // IPv4地址
        var reg = /((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}/g;
    </script>
</body>

</html>

更多相关内容大家可以前往我的个人博客浏览:eyes++的个人空间

目录 正则表达式实战... 1 匹配结尾的数字... 2 统一空格个数... 3 判断字符串是不是由数字组成... 3 电话号码正则... 3 手机号码正则表达式... 4 使用正则表达式实现删除字符串中的空格:... 4 限制文本框只能输入数字和小数点等等... 5 替换小数点前内容为指定内容... 5 只匹配中文的正则表达式... 5 返回字符串的中文字符个数... 6 正则表达式取得匹配IP地址前三段... 6 匹配<ul>与<ul>之间的内容... 7 用正则表达式获得文件名... 7 绝对路径变相对路径... 8 用户名正则... 8 匹配英文地址... 8 正则匹配价格... 9 身份证号码的匹配... 10 要求文本有指定行数... 10 单词首字母大写... 10 正则验证日期格式... 11 去掉文件的后缀名... 12 验证邮箱的正则表达式... 12 匹配源代码中的链接... 13 匹配链接的文字... 14 正则判断标签是否闭合... 14 用正则获得指定标签的内容... 15 正则判断是否为数字与字母的混合... 16 空格与英文同时存在... 17 显示或者保存正则表达式匹配的部分内容... 18 正则表达式替换变量... 18 正则替换指定属性中的文本... 19 将阿拉伯数字替换为中文大写形式... 20 替换文本中的URL为链接... 21 从HTML代码段删除指定标签极其内容... 21 用正则给文本分段... 22 转换源代码中的标签... 22 给属性添加双引号... 23 给table加上tbody. 25 去掉标签的所有属性... 25 正则替换特定单词... 25 指定文字高亮显示... 26 删除标签... 27 错误贴... 28 太难贴... 28 匹配数字的“正则”. 28 正则资源... 28 匹配结尾的数字
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值