我在JavaScript表单验证中遇到了一个问题。我必须存储在这种格式1-74347064527 号码我已经尝试了这些正则表达式,但不能正常工作:只有数字和破折号的正则表达式
var srNo =/^[-0-9]*$/;
var srNo = /^[0-9]+(-[0-9]+)+$/;
var srNo=/^([0-9]+-)*[0-9]+$/;
提出了一些正则表达式这一点。 亲切的问候。
我在JavaScript表单验证中遇到了一个问题。我必须存储在这种格式1-74347064527 号码我已经尝试了这些正则表达式,但不能正常工作:只有数字和破折号的正则表达式
var srNo =/^[-0-9]*$/;
var srNo = /^[0-9]+(-[0-9]+)+$/;
var srNo=/^([0-9]+-)*[0-9]+$/;
提出了一些正则表达式这一点。 亲切的问候。
当一个字符类([ ]
),破折号(-
)具有正则表达式中的特殊含义 - 意思是“范围”,例如。 a-z
表示from 'a' to 'z'
。你不是逃避它,所以你的RegExps甚至不正确(至少不是每种语言)。
更新:看来,当短划线没有被其他字符包围(当它放置在字符类的开头或末尾)时,该语法是正确的。抱歉混淆。
试试这个:
/^\d\-\d+$/
它匹配以一个数字开头的字符串,后跟一个破折号,然后通过一个或多个数字。
谢谢。它的工作! – ABJ 2014-09-30 16:12:48
这应该工作,除非你有额外的限制:
var srNo = /^\d+-\d+$/;
如果你喜欢[0-9]
语法:
var srNo = /^[0-9]+-[0-9]+$/;
var regex = /^\d{1}-?\d{11}$/g
window.alert(regex.test('1-74347064527'));
'^ [0-9] + - [0-9] + $'或'^ \ d + - \ d + $'是怎么回事? – hwnd 2014-09-30 15:51:04
@hwnd你的意思是这个var srNo =/^ \ d + - \ d + /;对 ?它不工作! – ABJ 2014-09-30 15:57:02
如果您可以提供更多示例或尝试,这可能会有所帮助。 – hwnd 2014-09-30 15:57:40