需求是字符串的头或尾不能为双引号,但中间可以。
下面是我写的,但有问题,比如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");
}
}
下面是我写的,但有问题,比如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");
}
}
{
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.
var txt = document.form1.elements["custom"].value;
reg =/^\".*|\"$/;
if(reg.test(txt))
{
alert("contains invalid characters.");
}
else
{
alert("ok");
}
if(reg.test(txt))
{
alert("contains invalid characters.");
}
else
{
alert("ok");
}
if (!reg.test(txt)) {
// invalid
} else {
// ok
}