sherlockhomles 发表于 2014-7-26 15:47:09

求一个正则表达式

求一个数字和字母可以同时出现,不能是纯数字或纯字母的,可以有特殊符号6-20位正则表达式

ibcadmin 发表于 2014-7-26 15:49:06

正则是硬伤

阿甘大手 发表于 2014-7-26 15:50:02

0
0
0
。0
。0

songyusb 发表于 2014-7-26 15:51:25

/^{5,19}$/

^[\x21-\x7E]{6,20}$

惜鑫 发表于 2014-7-26 15:53:02

var reg = /^[\w.]{6,20}$/;

sherlockhomles 发表于 2014-7-26 15:57:34

惜鑫 发表于 2014-7-26 15:53
var reg = /^[\w.]{6,20}$/;

这个可以输人纯字母,不过还是谢谢回复

sherlockhomles 发表于 2014-7-26 16:02:04

songyusb 发表于 2014-7-26 15:51
/^{5,19}$/

^[\x21-\x7E]{6,20}$

两个都能输入纯字母,要数字字母同时存在,特殊符号可有可无6-20的,你在给想想办法,急需

sherlockhomles 发表于 2014-7-26 16:11:44

大神在那里

ibcadmin 发表于 2014-7-26 22:16:40

1."/(+)(+)([-_]+)|\\1\\3\\2|\\2\\1\\3|\\2\\3\\1|\\3\\1\\2|\\3\\2\\1/is"

2.
$a = '+';
$b = '+';
$c = '[-+_!@#$%^&*()]+';

$p = "/$a$b$c|$a$c$b|$b$a$c|$b$c$a|$c$a$b|$c$b$a/";

$ar = array(
'12ab_',
'a1b2c45',
'&23a4c',
'a12s*d43',
);
foreach($ar as $v) {
echo $v . " : ";
echo preg_match_all($p, $v, $r) ? 'ok' : 'err';
echo '<br>';
}

3.(?=.*)(?=.*)(?=.*).{6,16}

4.分两步吧
第一步
第二步
^{4,20}$

5.^(?!+$){4,20}$

songyusb 发表于 2014-7-28 20:37:45

sherlockhomles 发表于 2014-7-26 16:02
两个都能输入纯字母,要数字字母同时存在,特殊符号可有可无6-20的,你在给想想办法,急需

给钱不 {:3_45:}
页: [1]
查看完整版本: 求一个正则表达式