首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的JavaScript regex / regex语法有什么问题?

我的JavaScript regex / regex语法有什么问题?
EN

Stack Overflow用户
提问于 2012-02-01 19:03:16
回答 2查看 350关注 0票数 3

我需要一个正则表达式与javascript/jquery一起使用,它符合这些规则..。

  • 它将包括10位数字
  • 如果存在领先的1+1,则应忽略它。
  • 字段中允许的有效字符是..。0-9()-

我在斯尼普普尔找到了一个正则表达式(第一个),但它不起作用。首先,我甚至不确定这个准则是否符合我的规则。其次,它允许像&^%$$#%^adfafsd这样的输入。我相信错误在我的代码中,而不是正则表达式中。例如,表达式周围应该有引号吗?

这是应该验证电话字段的代码..。

代码语言:javascript
运行
复制
$('#phone').bind('blur', function() {
    var pattern = new RegExp("^(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})$");
    if(pattern.test($('#phone').val())){
        $("#phone").addClass("error");
        return false;
    }else{
        $("#phone").removeClass("error");
        return true;
    }
    return true;
})
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-01 19:28:07

当不使用文字形式( / regex / )时,需要转义regex字符串。试一试:

代码语言:javascript
运行
复制
var regex = /^(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})$/;

if(regex.test($('#phone').val()){ ... }
票数 4
EN

Stack Overflow用户

发布于 2012-02-01 19:24:36

如果有前导1或+1,则应忽略它将包括10位数字,字段中允许的有效字符是.0-9,(),和-

可以与如下表达式相匹配:

代码语言:javascript
运行
复制
/^(?:\+?1)?[()-]*(?:\d[()-]*){10}$/
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9101624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档