我正在尝试为国家代码编写一个正则表达式,它最多应限制为四个字符,唯一允许的符号是 + 号。使用+时,+必须在开头,并且至少要有一个数字。
有效案例
+1
1
+12
12
+123
1234
无效案例
+
+1234
12345
1+
12+
<empty>
etc.
我现在的表情。
/(\+\d{1,3})/
能再优雅一点吗?
-提前致谢!!
最佳答案
这应该有效。我用过
/^(\+?\d{1,3}|\d{1,4})$/
编辑:
//gm 标志分别是global 和multiline。如果您的字符串可以有多个位置来匹配国家代码,或者您的字符串中有多行,则需要这些。如果您的字符串不仅仅是一个可能的国家/地区代码,则需要去掉正则表达式开头和结尾的 ^
和 $
。要使用正则表达式,您需要这样的东西:
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/