Javascript 仅带数字和破折号的正则表达式
我在JavaScript表单验证中面临一个问题。我必须以这种格式存储数字1-74347064527 我尝试过这些正则表达式,但没有正常工作:Javascript 仅带数字和破折号的正则表达式,javascript,regex,validation,Javascript,Regex,Validation,我在JavaScript表单验证中面临一个问题。我必须以这种格式存储数字1-74347064527 我尝试过这些正则表达式,但没有正常工作: var srNo =/^[-0-9]*$/; var srNo = /^[0-9]+(-[0-9]+)+$/; var srNo=/^([0-9]+-)*[0-9]+$/; 为此建议一些正则表达式。 致以问候。除非您有其他限制,否则这应该有效: var srNo = /^\d+-\d+$/; 如果您喜欢[0-9]语法: var srNo = /^[0
var srNo =/^[-0-9]*$/;
var srNo = /^[0-9]+(-[0-9]+)+$/;
var srNo=/^([0-9]+-)*[0-9]+$/;
为此建议一些正则表达式。
致以问候。除非您有其他限制,否则这应该有效:
var srNo = /^\d+-\d+$/;
如果您喜欢[0-9]
语法:
var srNo = /^[0-9]+-[0-9]+$/;
在字符类([]
)中,破折号(-
)在正则表达式中具有特殊含义-它表示“范围”,例如a-z
表示从“a”到“z”
。您没有逃避它,因此您的regexp甚至不正确(至少不是在所有语言中)
更新:当破折号没有被其他字符包围时(当破折号放在字符类的开头或结尾时),此语法似乎是正确的。抱歉搞混了
请尝试以下方法:
/^\d\-\d+$/
它匹配以一个数字开头的字符串,后跟破折号,然后是一个或多个数字。有什么问题吗
^[0-9]+-[0-9]+$
或^\d+-\d+$
?@hwnd您的意思是这个变量srNo=/^\d+-\d+/;正确的?它不工作!如果您能提供更多的示例或尝试,可能会有所帮助。
var regex = /^\d{1}-?\d{11}$/g
window.alert(regex.test('1-74347064527'));