js中如何写一个正则表达式来验证 内容可以是中、英、数字混输还能限制长度
1个回答
展开全部
不好意思我没理解你的意思,你说混输的意思是指都可以同时输入吗?那有个极限例子一个字符串里面同时有中文+全角字符+英文+数字一共要有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的)进行分离,然后单独进行校验。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询