javascript - 如何将模式与正则表达式进行匹配

标签 javascript jquery regex

我想验证一个字符串是否只包含 a-z、0-9 和符号。 - _ @ 和 ; 我有这个代码:

var regex = new RegExp('[a-z0-9@.;_-]{8,}');

离我正在寻找的东西不远,但它也返回 true:

'123@123.com°%'

我正在使用 jquery 通过 div 加载字符串,我添加了一些代码:

    var mailinglist= $('#mailinglist').val();
    var regex = new RegExp('\^[0-9a-z.-_;@]{8,}$\','i');

    if (mailinglist.match(regex)){}
    else{}

如果存在空格或模式中未定义的任何其他字符,我需要匹配返回 false。

谢谢:-)

最佳答案

添加字符串开始和结束 anchor 。

var regex = /^[a-z0-9@.;_-]{8,}$/
//           ↑                 ↑

此外,除非您有某种动态模式,否则最好使用正则表达式文字 /.../ 而不是从字符串 new RegExp('...') 构造 RegExp 对象>.

关于javascript - 如何将模式与正则表达式进行匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3554668/

相关文章:

javascript - d3.js折线图不渲染股票折线图

javascript - 如何改进正则表达式,使其可以匹配 google script 电子邮件抓取工具的电子邮件格式?

javascript - 使用 head.js 有什么缺点吗?

jQuery slider 限制,最小值/最大值从 0 到 100

javascript - Blur.js 中的缓存前缀是什么?

javascript - 在javascript中验证英国驾驶执照正则表达式

javascript - 带负数的 Array.slice 安全吗?

javascript - 如何比较每周数据?

c - perl如何从C头文件中提取#define'd数字

regex - 谷歌分析 : filter by Page and Service Provider