我正在尝试为最后一行(\n
)跳过一个数字找到正确的正则表达式,但每次它都不起作用。
我的正则表达式为/^\d+(\n)$/
。
编辑:文本区域包含:
22\n
33
这是我的代码(我正在尝试验证textarea中的内容,并且每行的末尾只有\n
的数字):
function valideChamp()
{
var rExp1 = /^\d+(\n)$/;
var aChamps = document.querySelector("textarea").value;
if (rExp1.test(aChamps.value)==true){
alert("Valide")
}
else {
alert("Invalide")
return false;
}
}
答案 0 :(得分:1)
如果您想检查任何只包含数字的行,您可以使用:
/(^|\n)\d+(\r?\n)/
如果你只是想检查那里只有一个数字,然后是换行符,而不是别的:
/^\d+(\r?\n)$/
(这是你要检查的,但这是一个奇怪的输入模式。)
如果你想确保textarea只包含数字行,那么检查string.replace(/[0-9\r\n]/g, '') == ''
可能会更简单。这将确认它是否仅包含数字和换行符。
答案 1 :(得分:1)
删除“.value” 从这一行: if(rExp1.test(aChamps.value)== true){
答案 2 :(得分:0)
你一起使用$和\ n,这有点多余。尝试
/\d+$/gm
其中g =全局标志,m =多行标志。请注意,这将匹配多行。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp