Javascript正则表达式,用于测试字符串在分隔行上是否只有数字
我想测试字符串(来自HTMLTextArea)是否只有由新行分隔的数字,也允许使用前导/尾随空格 我尝试了以下方法:Javascript正则表达式,用于测试字符串在分隔行上是否只有数字,javascript,regex,Javascript,Regex,我想测试字符串(来自HTMLTextArea)是否只有由新行分隔的数字,也允许使用前导/尾随空格 我尝试了以下方法: /^\d\n+$/.test(val); 及 两者都不起作用。您可以使用 (?: *\d+ *(?:\n|$))+$ 重复包含零个或多个空格、后跟数字、后跟多个空格、后跟换行符或字符串结尾的组 const textarea=document.querySelector('textarea'); textarea.onkeyup=()=>{ 常量{value}=textare
/^\d\n+$/.test(val);
及
两者都不起作用。您可以使用
(?: *\d+ *(?:\n|$))+$
重复包含零个或多个空格、后跟数字、后跟多个空格、后跟换行符或字符串结尾的组
const textarea=document.querySelector('textarea');
textarea.onkeyup=()=>{
常量{value}=textarea;
textarea.style.backgroundColor=
/^(?:*\d+*(?:\n |$)+$/.test(值)
?“#c0ffb7”
:“#ffb7b7”;
};代码>
textarea{
宽度:300px;
高度:300px;
}
1234
432
44431
具体在哪里允许空格?一行的数字字符之间可以有空格吗,或者你的意思是一行的前导/尾随空格可以吗?为什么不/^[\d\n\s]+$/
?@RobG不需要\n
,\s
已匹配它。@CertainPerformance yes仅前导/尾随。是否可以添加一些有效和无效的示例?如何允许空行?使用*
(零或多个)重复数字,而不是+
(一个或多个)仍然不允许多个空行。如果允许,我确实检查了它,只需将数字的+
替换为*
(?: *\d+ *(?:\n|$))+$