发布网友 发布时间:2022-04-25 21:10
共1个回答
热心网友 时间:2022-04-25 22:39
不好意思我没理解你的意思,你说混输的意思是指都可以同时输入吗?那有个极限例子一个字符串里面同时有中文+全角字符+英文+数字一共要有21个,其中中文等最多输入7个,英文等最多输出14个,这种也要满足吗?追问你好 我说的混输就是可以同时输入的 就是验证昵称时候用的 你说的那个例子发我看看哈 我感觉应该靠谱啊追答var len = str.match(/[^ -~]/g) == null ? str.length : str.length + str.match(/[^ -~]/g).length;这段JavaScript是网上找的,用来计算字符串长度的。你只要判断len小于14就行了。中间的/[^ -~]/g匹配汉字和全角符号,str.length是字符个数,这个值里面汉字算一个字符,再加上汉字的个数,就相当于把汉字算两个字符了。或者还有一个方法,在参数传入时候进行逐个校验,用str.match(/[^ -~]/g)将汉字(最多只能有7个的)和其他(最多只能有14的)进行分离,然后单独进行校验。