我需要一个在文本字段中接受字母和数字的正则表达式。如果用户仅输入字母或用户仅输入数字,则不接受。我怎么能这样做??
答案 0 :(得分:1)
您可以使用如下所示的正则表达式:
/^(?=.*\d)(?=.*[a-z])[\da-z]+$/i
Javascript示例:
var regex = /^(?=.*\d)(?=.*[a-z])[\da-z]+$/i;
console.log(regex.test('aaa')); // false
console.log(regex.test('111')); // false
console.log(regex.test('aaa111')); // true
console.log(regex.test('111aaa')); // true
答案 1 :(得分:0)
我认为有人会写一个更好的正则表达式然后这个,但它的工作原理:
^([a-zA-Z]+\d+[a-zA-Z\d]*)|(\d+[a-zA-Z]+[a-zA-Z\d]*)$
答案 2 :(得分:0)
(\d+[A-Za-z]+)|([A-Za-z]+\d+) should work for you.
"\d" represents a digit which can be out of [0-9].
在Java中完美运行。您可以专门检查任何其他语言或编辑。
Pass-
123aaa
aaa123
Rejects-
123
aaa
答案 3 :(得分:0)
(?i)(?=[a-z0-9]*[0-9])(?=[a-z0-9]*[a-z])[a-z0-9]*
只有字符串至少包含一个数字和一个字母才会匹配。
匹配
abc1
123a
不匹配:
abc
123