js正则表达式:6-20位,可以为数字或者英文,最少一个英文。请问正则表达式怎么写

JavaScript0137

js正则表达式:6-20位,可以为数字或者英文,最少一个英文。请问正则表达式怎么写,第1张

你这个可以分两步判断:①判断长度是否符合条件②正则判断字符是否合法 给你一个示例函数:var IsLoginName= function(input){if(!!input &&typeof(input)==='string' && input.length>5 &&input.length<23){ return /^[A-Za-z0-9]*[A-Za-z]+[A-Za-z0-9]*$/.test(input) }return false}使用方法:if(IsLoginName("AAA87877")===true){document.write("合法名称")}else{ document.write("不合法名称")}有什么疑问可以追问我。

var reg = /^[1-9a-z]\w{3,19}$/i

var str = "a1_"

console.log(reg.test(str))

// 将心比心,采纳即可

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

    <form>

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

        <input type="button" value="Submit" id="submit"/>

    </form>

<script>

    window.onload=function(){

        /*js 求正则表达式 :  8-20位   必须包涵大写字母,小写字母,数字,特殊字符, 必须包涵哈.*/

        

        document.getElementById("submit").onclick=function(){

            var fname=document.getElementById("fname").value

            var pattern=/[A-Z]+[a-z]+[0-9]+[^A-Za-z0-9]+/g

            alert(pattern.test(fname))

            if(fname.length<8 || fname.length>20){

                alert("长度必须是8-20位")

            }

        }

    }

</script>

</body>

</html>