js正则表达式,只能出现字母和数字,而且必须出现一个字母或数字
2个回答
展开全部
题主的逻辑稍显混乱。“只能出现字母和数字”,那么其实对于非空字符串来说,就已经 必然会 “出现一个字母或数字”了,能理解不?(关键在于后面那个“或”字)
这样:
// 待测试的字符串
var str = 'a';
// 题主所要的正则
var reg = /^[a-zA-Z0-9]+$/;
// 测试
alert(reg.test(str));
以上,请采纳,请给分。
追问
至少有一个字母和数字,也可以不填。
追答
至少有一个字母 “和” 数字? LZ 你一定要先把自己的想法理清楚。。。
“至少有一个字母和数字,也可以不填” 的判断表达式是(考虑到LZ可怜的表达能力,这里我假设了不能有非数字且非字母的其他字符,如果我误解了LZ,还请指正):
if (str.length===0 || (/\d/.test(str) && /[a-zA-Z]/.test(str) && /^[a-zA-Z0-9]+$/.test(str))) alert('符合');
else alert('不符合');
以上。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询