在js中怎么忽略字母的大小写查找 - 技术问答

JavaScript024

在js中怎么忽略字母的大小写查找 - 技术问答,第1张

可以采用,indexOf和正则方式进行查找

在线参考:https://jsfiddle.net/cy904159293/pv89jhpu/

/* JS 查找子串 */

/**

/i (忽略大小写)

/g (全文查找出现的所有匹配字符)

/m (多行查找)

/gi(全文查找、忽略大小写)

/ig(全文查找、忽略大小写)

*/

var str = "ABab"

var reg = new RegExp("Ba", 'i')

var reg2 = /ba/i

console.log(str.match(reg))// ["Ba", index: 1, input: "ABab"]

console.log(str.match(reg2))// ["Ba", index: 1, input: "ABab"]

console.log(str.match(/aa/i))// null

console.log(str.indexOf("Ba") != -1)// true

console.log(str.indexOf("ba") != -1)// false

<!DOCTYPE html>

<html>

<META charset=gb2312>

<head>

    <title>JS生成验证码</title>

    <style>

        .code {

    background-image: url(code.jpg)

    font-family: Arial

    font-style: italic

    color: Red

    border: 0

    padding: 2px 3px

    letter-spacing: 3px

    font-weight: bolder

}

.unchanged {

    border: 0

}

    </style>

    <script>

        var code

         //在全局 定义验证码  

        function createCode() {

            code = ""

            var codeLength = 4 //验证码的长度  

            var checkCode = document.getElementById("checkCode")

            var selectChar = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z') //所有候选组成验证码的字符,当然也可以用中文的  

            for (var i = 0 i < codeLength i++) {

                var charIndex = Math.floor(Math.random() * 36)

                code += selectChar[charIndex]

            }

            if (checkCode) {

                checkCode.className = "code"

                checkCode.value = code

            }

        }

        function validate() {

            var inputCode = document.getElementById("input1").value

            if (inputCode.length == 0) {

                alert("请输入验证码!")

            } else if (inputCode.toLowerCase() != code.toLowerCase()) {

                alert("验证码输入错误!")

                createCode() //刷新验证码  

            } else {

                alert("^-^ OK")

            }

        }

    </script>

</head>

<body onload="createCode()">

    <form action="#">

        <input type="text" id="input1" />

        <input type="text" onclick="create()" readonly="readonly" id="checkCode" class="unchanged" style="width: 80px" />

        <br />

        <input id="Button1" onclick="validate()" type="button" value="确定" />

    </form>

    <input type="text" id="phone" name="phone" />

    <div> <font color="red">

*

</font>

        验证码:</div>

    <div>

        <input type="text" id="checkCode" name="checkCode" size="4" />

        <input id="btnSendCode" type="button" value="发送验证码" onclick="sendMessage()" />

    </div>

</body>

</html>

js中字符串具备大小写装换的方法:

toUpperCase() // 转大写,用法:“String”.toUpperCase()

toLowerCase() // 转小写

把获取到的数据及要匹配数据统一转换成小写(或大写),即可忽略大小写