js正则表达式,只能出现字母和数字,而且必须出现一个字母或数字

 我来答
hutia
推荐于2017-11-27 · TA获得超过580个赞
知道小有建树答主
回答量:97
采纳率:100%
帮助的人:158万
展开全部

题主的逻辑稍显混乱。“只能出现字母和数字”,那么其实对于非空字符串来说,就已经 必然会 “出现一个字母或数字”了,能理解不?(关键在于后面那个“或”字)


这样:

// 待测试的字符串
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('不符合');


以上。

wackyer
2014-11-25 · TA获得超过928个赞
知道小有建树答主
回答量:605
采纳率:71%
帮助的人:386万
展开全部
var pa=/^[0-9a-z]+$/i;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式