黑马程序员技术交流社区

标题: 正则表达式问题 [打印本页]

作者: 左耳的鱼    时间: 2013-7-3 21:52
标题: 正则表达式问题
本帖最后由 左耳的鱼 于 2013-7-5 22:53 编辑

//验证密码
        var password=document.testform.password.value;
        var pwd = new RegExp("[a-zA-Z_0-9]{6,16}", "");//此处写的有点问题,如果超过16个,也不弹出信息框,但能保持大于6个,跪求指点
        if(!pwd.test(password))
        {
                alert("密码必须是6-16位字母数字下划线");
                return false;
        }
作者: 王靖远    时间: 2013-7-3 22:16
String regex = "[\\w[_]]{6,16}";
作者: 左耳的鱼    时间: 2013-7-4 01:19
王靖远 发表于 2013-7-3 22:16
String regex = "[\\w[_]]{6,16}";

试了下 不好用
作者: 王靖远    时间: 2013-7-4 09:03
左耳的鱼 发表于 2013-7-4 01:19
试了下 不好用

不是6-16位的字母数字下划线吗 我测试管用啊
作者: 左耳的鱼    时间: 2013-7-4 09:28
王靖远 发表于 2013-7-4 09:03
不是6-16位的字母数字下划线吗 我测试管用啊

可能我没改对,你能在我代码复制后改下吗, 还有你看我原先代码那个地方哪错了
作者: 我叫林磊    时间: 2013-7-4 09:35
var pwd=/^[a-zA-Z_0-9]{4,16}$/即可
作者: 左耳的鱼    时间: 2013-7-4 21:27
我叫林磊 发表于 2013-7-4 09:35
var pwd=/^[a-zA-Z_0-9]{4,16}$/即可

   var pwd = new RegExp("^[a-zA-Z_0-9]{6,16}$", "");//这个为什么必须加开头^ 结尾$呢 ,我设置范围了6,16,也设置符号内容了 a-zA-Z_0-9
作者: 我叫林磊    时间: 2013-7-4 21:46
左耳的鱼 发表于 2013-7-4 21:27
var pwd = new RegExp("^[a-zA-Z_0-9]{6,16}$", "");//这个为什么必须加开头^ 结尾$呢 ,我设置范围了 ...

javaAPI中,^代表匹配输入字符串的开始位置。$代表匹配输入字符串的结束位置。希望对你有所帮助!
作者: 我叫林磊    时间: 2013-7-4 21:48
是javascript API
作者: 左耳的鱼    时间: 2013-7-4 21:50
我叫林磊 发表于 2013-7-4 21:46
javaAPI中,^代表匹配输入字符串的开始位置。$代表匹配输入字符串的结束位置。希望对你有所帮助! ...

这个我知道,我是问为什么偏要加上 我之前内容范围都设置了 也不能出现其他字符啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2