浏览 3117 次
锁定老帖子 主题:js中的正则表达式问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-09
function check(input,div) { var input_value=document.getElementById(input).value; var str=return_reg(input);//获得正则表达式内容 if(input_value=="")//为空时 { document.getElementById(div).innerHTML=input+"内容不能为空";} else//不为空 {//为什么str中的值是/^[a-zA-Z]{1}[a-zA-Z0-9]{5,11}$/却不能执行下去??????? //请相告..谢谢! if(!str.exec(input_value))//正则表达式不匹配时 { document.getElementById(div).innerHTML="不合法输入"; } else { document.getElementById(div).innerHTML="你可以注册了"; } } } function return_reg(input)//通过传过来的对象确定不同的正则表达式 { if(input=="username")//传入用户名输入框时,选用这个正则表达式 { return "/^[a-zA-Z]{1}[a-zA-Z0-9]{5,11}$/"; } .......//返回很多的正则表达式 } //会不会是不能return "/^[a-zA-Z]{1}[a-zA-Z0-9]{5,11}$/";??? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-12-09
问题用死方法解决:就是在function check(input,div)中直接判断选用什么样的正则表达式
function check(input,div) {...... //取得不同的正则表达式 var str; if(input=="username") { str=/^[a-zA-Z]{1}[a-zA-Z0-9]{3,11}$/;} if(input=="userpwd") { str=/^[a-zA-Z0-9]{6,12}$/;} ...... //正则表达式取完后进行其它操作 ..... } 但,还是想知道,如果从另一个方法中取得正则表达式,怎么取(怎么return)??? |
|
返回顶楼 | |
发表时间:2007-12-09
lz,返回"/.../"是字符串,把"去掉就是正则对象了,正则和字符串可是不一样的呀,字符串那里来得exec方法,或者new RegExp在函数中.
|
|
返回顶楼 | |
发表时间:2007-12-10
谢谢!问题已解决!
|
|
返回顶楼 | |