js的arguments与正则表达式

<!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 type="text/javascript">
        /*在我们每次调用函数时,浏览器每次会传递两个隐含的参数
        1.是this. 2是arguments实参数组
        但arguments本质上不是数组是一个封装的类arguments 作用是数组存储参数
        */

        function fun(name, age) {
            console.log("arguments的长度" + arguments.length + ";调用arguments的函数本身是:" + arguments.callee);
        }
        fun("地方", 21);
        /*****************************************正则表示式********************************************/
        /*
            正则表示式有两种书写格式
            1.对象式 var * =new RegExp("正则表达式","i");写i的地方是正则表示式的属性 i是忽略大小写 g全局匹配
            2.子面量 *=/中间是正则表达式/后跟i或g或ig (为他添加var也没有问题)
        */
        var reg = new RegExp("a|b", "i");/*正则表达式最简单的或是|
        这行把正则表达式这个对象封装成一个变量他是 用来再字符串中寻找a或b这俩个字符串 i忽略大小写
        */
        /*正则表示式对象他有个方法test(), 检查参数字符串是否符合正则表达式并返回true或false*/RegExp
        console.log("reg的正则表达式测试:" + reg.test("agv"));
        /*字面量方式:*/
        /*var*/ f = /a|b/i;
        console.log("f字面量的正则表示式的测试:" + f.test("agv"));
        f1 = /ab/i;/*如果单独将元素放在一起表示他们必须相邻在一起才能通过测试*/
        console.log("f字面量的正则表示式的测试:" + f1.test("agv"));
        /*正则表达式中//里面的 []表示在里面的都是(不用分开也是相当于分开的)或的关系
        
        */
        var f2 = /[ab]/i;
        console.log("f2字面量的正则表示式的测试:" + f1.test("agv"));
        /*要是想在一个范围内筛选元素可以这样 [a-z] 从a到z的任意元素被包含都会通过测试但是小写
        大写可以这样[A-Z]
        大小写均包含可以这样写[A-z];
        */
        var f3 = /a[cg]z/;
        /*这个表示只有acz或agz能通过测试就是 括号外的元素顺序不可变中间括号内的元素是任意一个的关系*/
        var f4 = /[^a-z]/;
        console.log("f4字面量的正则表示式的测试:" + f1.test("agv"));
        /*    /[^a-z]/ 中括号内带^表示不包含中括号范围内的值     */

        var str = "a1df1D5v1Bfv41vGfv18A0cv1F3";
        /*replace方法使用正则表达式,replace不会影响原字符串会把改变的结果变成一个新的字符串返回*/
        /*replace方法是替换字符串中的字符但他只会替换第一个遇到的字符,*/
        console.log("原字符串:" + str);
        var str1 = str.replace("1", "?");
        console.log("将字符串的1变成'?':" + str1);
        str1 = str.replace(/1/ig, "?");
        console.log("正则表达式全局匹配(整个字符串)把1变'?':" + str1);
        str1 = str.replace(/[a-z]/ig, "");
        console.log("正则表达式全局匹配并忽略大小写(整个字符串)的字母变没:" + str1);
        str1 = str.replace(/[^a-z]/ig, "");
        console.log("正则表达式忽略字母大小写并消除其他的字符:" + str1);
        /******************************match方法**************************/
        /*match方法会将字符串中匹配的元素或正则表达式匹配的元素作为一个数组返回*/
        str1 = str.match("a");//
        console.log("match'a':" + str1);
        str1 = str.match(/[a-z]/ig);
        console.log("match所有的字母(不区分大小写):" + str1);
        /****************************search方法*************************/
        str1 = str.search("41");
        console.log("返回41的所在起始索引:" + str1);
        str1 = str.search(/v/);
        console.log("返回1的所在起始索引:" + str1);
        /************总之 match是返回匹配到的数组,replace是返回一个字符串,search是返回第一个出现的元素的索引******/
    </script>
</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值