javascript - 国家代码的正则表达式

标签 javascript regex

我正在尝试为国家代码编写一个正则表达式,它最多应限制为四个字符,唯一允许的符号是 + 号。使用+时,+必须在开头,并且至少要有一个数字。

有效案例

+1
1
+12
12
+123
1234

无效案例

+
+1234
12345
1+
12+
<empty>
etc.

我现在的表情。

/(\+\d{1,3})/

能再优雅一点吗?

-提前致谢!!

最佳答案

这应该有效。我用过

/^(\+?\d{1,3}|\d{1,4})$/

See results

编辑:

//gm 标志分别是globalmultiline。如果您的字符串可以有多个位置来匹配国家代码,或者您的字符串中有多行,则需要这些。如果您的字符串不仅仅是一个可能的国家/地区代码,则需要去掉正则表达式开头和结尾的 ^$。要使用正则表达式,您需要这样的东西:

var regex = /^(\+?\d{1,3}|\d{1,4})$/gm
var str = "+123"
var match = str.match(regex);
//match is an array, with one result in this case. So match[0] == "+123"

关于javascript - 国家代码的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40511819/

相关文章:

javascript - 如何调用 iframe 做某事?

java - 正则表达式\p{Punct} 在 java 中缺少 unicode 标点符号

Javascript:将逗号替换为 ### - 仅在双引号中(匹配内部双引号的事件)

javascript - 无法在 html 文本框中添加两个乘法结果

javascript - 如何从 ImmutableJS 中对象内部的数组中删除元素

javascript - 如何在页面内调用CKEditor 4插件功能?

javascript - 缓冲区为整数。无法理解这行代码

javascript - 用于从单词边界交替索引的正则表达式

python - 正则表达式在 python 中不起作用

regex - SED:将现有模式插入同一行的其他几个地方