正则表达式问题阿,在线等~~

lht918 2011-07-05 03:01:28

function isCheckInput(str) {
var patrn = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/; //验证Email格式
if (!patrn.exec(str) {
return false;
}
}

function isCheckInput(str) {
var a = item.VERIFICATION_MODE.toString();
var patrn = a; //验证Email格式
if (!patrn.exec(str) {
return false;
}
}


上面两个方法,唯一不一样的地方就是第一个直接用正则在页面上验证,第二个是将正则读出来以后再验证。
可以确定第二个方法读出来的a和第一个方法的正则表达式一摸一样,但是奇怪了,为什么第二个报错。

在线求解。
...全文
81 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
诺维斯基 2011-07-09
  • 打赏
  • 举报
回复
string str = "height=\"9\"> [营销管理] <a href=“";
Regex reg = new Regex(@"(?<=\[).+(?=\])");
foreach (Match m in reg.Matches(str))
Response.Write(m.Value);
lht918 2011-07-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 q107770540 的回复:]

.test() 返回bool值 表示是否能匹配
.exec() 返回匹配结果
[/Quote]

好了,明白了,应该差不多。给分结贴~
q107770540 2011-07-05
  • 打赏
  • 举报
回复
.test() 返回bool值 表示是否能匹配
.exec() 返回匹配结果
lht918 2011-07-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 q107770540 的回复:]

用.test() 方法
[/Quote]

已经解决了,我吧从DB读出来的正则eval()了一下就OK了。
.test()和.exec()区别大吗?
诺维斯基 2011-07-05
  • 打赏
  • 举报
回复
参与!!
q107770540 2011-07-05
  • 打赏
  • 举报
回复
用.test() 方法
moonwrite 2011-07-05
  • 打赏
  • 举报
回复
还有匹配的时候 怎么不返回个true呢

var SomeRegExp
{
Email:"/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/",
Number: ...
}

function isCheckInput(str) {//比你的好看多了 呵呵
if (SomeRegExp.Email.exec(str) {
return false;
}
}
styker 2011-07-05
  • 打赏
  • 举报
回复
楼上正解
马老虎 2011-07-05
  • 打赏
  • 举报
回复
patrn 虽然javascript是弱类型的。也不能这么搞。
var a = item.VERIFICATION_MODE.toString();
var patrn = a; //验证Email格式

--------------
var patrn = new RegExp(a);
p.exec(str)

q107770540 2011-07-05
  • 打赏
  • 举报
回复
var patrn =new RegEx(a);

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧