首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式|验证错误

正则表达式|验证错误
EN

Stack Overflow用户
提问于 2010-05-20 14:42:27
回答 2查看 309关注 0票数 4

我正在尝试验证一个美国手机号码,因为我使用的是预先构建的javascript验证库,所以我刚刚用验证库附带的前一个验证库替换了this正则表达式验证。

以前的验证正则表达式:

代码语言:javascript
复制
"telephone":{
"regex":"/^[0-9\-\(\)\ ]{10,10}$/",
"alertText":"* Invalid phone number"},

这与2126661234类似,但不是在美国标准中。

在我改变之后:

代码语言:javascript
复制
"telephone":{
"regex":"/^[2-9]\d{2}-\d{3}-\d{4}$/",
"alertText":"* Invalid phone number"}, 

现在,即使我输入212-666-1234,每次输入都会出现错误,我真的不知道哪里出了问题,所以我希望得到一些帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-20 14:58:54

您需要转义反斜杠

代码语言:javascript
复制
"telephone":{
"regex":"/^[2-9]\\d{2}-\\d{3}-\\d{4}$/",
"alertText":"* Invalid phone number"}, 

/^[2-9]\d{2}-\d{3}-\d{4}$/只能在正则表达式文本中工作,如

代码语言:javascript
复制
var r = /^[2-9]\d{2}-\d{3}-\d{4}$/;

使用字符串初始化regex时,应转义反斜杠

代码语言:javascript
复制
var r = new RegExp("^[2-9]\\d{2}-\\d{3}-\\d{4}$");
票数 4
EN

Stack Overflow用户

发布于 2010-05-20 14:49:25

看起来原始的正则表达式避开了-符号,如下所示:\-

在你的第二个例子中,我没有看到你这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2871517

复制
相关文章

相似问题

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