正则表达式不匹配结果
RegExp not matching results
我正在尝试匹配 javascript 中的模式。
示例如下:
var pattern = "/^[a-z0-9]+$/i"; // This is should accept on alpha numeric characters.
var reg = new RegExp(pattern);
console.log("Should return false : "+reg.test("This $hould return false"));
console.log("Should return true : "+reg.test("Thisshouldreturntrue"));
当我 运行 这两个结果都是假的。
我确实认为我缺少一些简单的东西。但是有点迷茫。
提前致谢。
如果您使用 RegExp
构造函数,则无需使用斜线。 您可以使用不带双引号的封闭斜线来表示正则表达式,或者传递一个字符串 (通常用引号括起来)到 RegExp 构造函数:
var pattern = "^[a-z0-9]+$"; // This is should accept on alpha numeric characters.
var reg = new RegExp(pattern, "i");
console.log("Should return false : "+reg.test("This $hould return false"));
console.log("Should return true : "+reg.test("Thisshouldreturntrue"));
你的模式是错误的。您不需要在此处使用 RegExp 构造函数。并且您需要忽略大小写标志或将大写字母添加到范围。
var reg = /^[a-zA-Z0-9]+$/;
console.log("Should return false : "+reg.test("This $hould return false"));
console.log("Should return true : "+reg.test("Thisshouldreturntrue"));
我正在尝试匹配 javascript 中的模式。
示例如下:
var pattern = "/^[a-z0-9]+$/i"; // This is should accept on alpha numeric characters.
var reg = new RegExp(pattern);
console.log("Should return false : "+reg.test("This $hould return false"));
console.log("Should return true : "+reg.test("Thisshouldreturntrue"));
当我 运行 这两个结果都是假的。 我确实认为我缺少一些简单的东西。但是有点迷茫。
提前致谢。
如果您使用 RegExp
构造函数,则无需使用斜线。 您可以使用不带双引号的封闭斜线来表示正则表达式,或者传递一个字符串 (通常用引号括起来)到 RegExp 构造函数:
var pattern = "^[a-z0-9]+$"; // This is should accept on alpha numeric characters.
var reg = new RegExp(pattern, "i");
console.log("Should return false : "+reg.test("This $hould return false"));
console.log("Should return true : "+reg.test("Thisshouldreturntrue"));
你的模式是错误的。您不需要在此处使用 RegExp 构造函数。并且您需要忽略大小写标志或将大写字母添加到范围。
var reg = /^[a-zA-Z0-9]+$/;
console.log("Should return false : "+reg.test("This $hould return false"));
console.log("Should return true : "+reg.test("Thisshouldreturntrue"));