Regex.IsMatch
Regex.IsMatch(input, "{[0-9]|[a-z]|[A-Z]}*)当我使用上面语句来校验字符串需要是数字或字母的组合,当我输入纯数字,不满足条件。
哪位大侠能帮分析下。 --------------------编程问答-------------------- (?i)^(?![a-z]+$)(?!\d+$)[\da-z]+$
必须为数字和字母组合 --------------------编程问答-------------------- 应该这么写
[0-9a-zA-Z]*
--------------------编程问答--------------------
谢谢。但是我想知道我的错在哪里了? --------------------编程问答--------------------
{ 是一个普通字符,其实你应该想用的是 ( 吧 --------------------编程问答--------------------
(?i)^(?![a-z]+$)(?!\d+$)[\da-z]+$
必须为数字和字母组合
谢谢。但是我想知道我的错在哪里了?
{ 是一个普通字符,其实你应该想用的是 ( 吧
不是的{a}*指的是含一个或多个a组成的字符串 --------------------编程问答--------------------
(?i)^(?![a-z]+$)(?!\d+$)[\da-z]+$
必须为数字和字母组合
谢谢。但是我想知道我的错在哪里了?
你写的正则相当于一个组合条件:
数字或小写字母或大写字母
那么字符串全由数字组成也可以了,所以不对。
Return_false写给你的也相当于一个组合条件:
不全部由字母组成 且 不全由数字组成 且 全由数字或字母组成
等价于“由字母和数字组成且2类字符都要存在。
--------------------编程问答-------------------- 另外你写的外面加上一对花括号,这也明显不对。 --------------------编程问答--------------------
(?i)^(?![a-z]+$)(?!\d+$)[\da-z]+$
必须为数字和字母组合
谢谢。但是我想知道我的错在哪里了?
你写的正则相当于一个组合条件:
数字或小写字母或大写字母
那么字符串全由数字组成也可以了,所以不对。
Return_false写给你的也相当于一个组合条件:
不全部由字母组成 且 不全由数字组成 且 全由数字或字母组成
等价于“由字母和数字组成且2类字符都要存在。
我想你搞错了,我是要实现数字或字母或他们的组合,而非数字字母的组合
--------------------编程问答-------------------- 1楼给你的即使我前面说的第二种情况,也不是你要的了。
你要的可能是这样:Regex.IsMatch(input, @"^[0-9a-zA-Z]+$") --------------------编程问答-------------------- 这类问题最好给出些样例:比如哪些是合法的,哪些有是不合法的,这样比较清晰。
补充:.NET技术 , C#