如何为输入值编写正则表达式? [关闭]
Posted
技术标签:
【中文标题】如何为输入值编写正则表达式? [关闭]【英文标题】:How to write Regex for input values? [closed] 【发布时间】:2013-07-14 11:02:43 【问题描述】:我可以使用什么正则表达式来解析字符串,使其只接受整数和/
字符?
【问题讨论】:
在要求快速回复之前,您应该尝试一下。 你已经尝试了什么? *** 是为您提供帮助,而不是为您编写代码。 上一篇文章部分解决了您的问题,希望对您有所帮助***.com/questions/9043551/regex-match-integer-only 【参考方案1】:var a = '123/4';
var b = 'e123/4';
变体 1
var regex = new RegExp('^[0-9/]+$');
console.log((a.match(regex)) ? true : false); // true
console.log((b.match(regex)) ? true : false); // false
变体 2
var regex = /^[0-9/]+$/;
console.log((a.match(regex)) ? true : false); // true
console.log((b.match(regex)) ? true : false); // false
变体 3
var regex = /^[\d\/]+$/;
console.log((a.match(regex)) ? true : false); // true
console.log((b.match(regex)) ? true : false); // false
【讨论】:
为什么不var regex = /^[0-9/]+$/;
?
我只是习惯了这样写。不过应该没什么区别吧?
顺便说一句,您也可以将正则表达式写为/^[\d\/]+$/
。
我认为使用构造函数的效率应该会稍低一些,因为你需要创建一个字符串对象并且有另一个函数调用的开销。另外,当您使用转义时,语法变得更加丑陋(因为您需要将所有反斜杠加倍)。我只会将构造函数用于动态创建(连接)模式。以上是关于如何为输入值编写正则表达式? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章