求一个js的正则表达式~~

csmtv 2009-10-21 06:16:55
需求是字符串的头或尾不能为双引号,但中间可以。
下面是我写的,但有问题,比如a,aa,不能匹配。
function test1()
{
var txt = document.form1.elements["custom"].value;
reg =/^[^"][0-9a-zA-Z~!@#$^&*()_+={}\[\]|'",.:?\/]*[^"]$/;
if(! reg.test(txt))
{
alert("contains invalid characters.");
}
else
{
alert("ok");
}
}
...全文
80 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
csmtv 2009-10-22
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wcwtitxu 的回复:]
JScript codevar reg=/^(?!"|[\d\D]*"$)[^;]*$/;
[/Quote]

爱死你了~~~
满分!!!!哈哈
wcwtitxu 2009-10-22
  • 打赏
  • 举报
回复
var reg = /^(?!"|[\d\D]*"$)[^;]*$/;
csmtv 2009-10-22
  • 打赏
  • 举报
回复
5楼的刚好满足需求,
那如果还要将分号屏蔽呢,[^;]。
该如何添加到5楼的表达式里??
wcwtitxu 2009-10-21
  • 打赏
  • 举报
回复
var reg = /^(?!")(?![\d\D]*"$)/;
if (!reg.test(txt)) {
// invalid
} else {
// ok
}
friendly_ 2009-10-21
  • 打赏
  • 举报
回复
var txt = document.form1.elements["custom"].value;

reg =/^\"|\"$/;
if(reg.test(txt))
{
alert("contains invalid characters.");
}
else
{
alert("ok");
}
friendly_ 2009-10-21
  • 打赏
  • 举报
回复

var txt = document.form1.elements["custom"].value;
reg =/^\".*|\"$/;
if(reg.test(txt))
{
alert("contains invalid characters.");
}
else
{
alert("ok");
}
csmtv 2009-10-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yixianggao 的回复:]
L@_@K

JScript codefunction test1(txt)
{var reg=/^[^"].*[^"]$/;if(!reg.test(txt))
{
alert("contains invalid characters.");
}else
{
alert("ok");
}
}
test1("a,a\"a,");// oktest1("\"a,a\"a,");// contains invalid characters.
[/Quote]
2楼你试输小于三个字符的字符串试试。不行的。
yixianggao 2009-10-21
  • 打赏
  • 举报
回复
L@_@K

function test1(txt)
{
var reg = /^[^"].*[^"]$/;
if(!reg.test(txt))
{
alert("contains invalid characters.");
}
else
{
alert("ok");
}
}
test1("a,a\"a,"); // ok
test1("\"a,a\"a,"); // contains invalid characters.

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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