Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用最小长度和新行验证正则表达式_Javascript - Fatal编程技术网

Javascript 使用最小长度和新行验证正则表达式

Javascript 使用最小长度和新行验证正则表达式,javascript,Javascript,我正在尝试匹配长度>10的字符串 var value = "Lorem Ipsum is simply dummy text of the printing and type"; /^.{10,}$/.test(value); 返回true 但是,如果我有一个具有新行字符的字符串,那么它将失败 如何更新正则表达式以修复此问题 我知道我可以检查。长度>10或用空格替换新行。但是,我想更新正则表达式。^和$要求在匹配中指定行的开头和结尾。只要去掉它们,你就会得到答案。哦,你需要m开关来传递换行符

我正在尝试匹配长度>10的字符串

var value = "Lorem Ipsum is simply dummy text of the printing and type";
/^.{10,}$/.test(value);
返回true

但是,如果我有一个具有新行字符的字符串,那么它将失败

如何更新正则表达式以修复此问题


我知道我可以检查。长度>10或用空格替换新行。但是,我想更新正则表达式。

^
$
要求在匹配中指定行的开头和结尾。只要去掉它们,你就会得到答案。哦,你需要
m
开关来传递换行符

var r = /.{10,}/m;
r.test(value);

^
$
强制要求在匹配中指定行的开头和结尾。只要去掉它们,你就会得到答案。哦,你需要
m
开关来传递换行符

var r = /.{10,}/m;
r.test(value);

如果只是测试长度,则应使用
.length
。如果你坚持使用正则表达式,那么除了换行符外,点实际上与所有内容都匹配。您可以通过搜索
\s\s
来更改此设置:

([\s\s]{10,})


它匹配任何空白和任何非空白,覆盖整个频谱。遗憾的是,js regex不支持
s
修饰符。

如果只是测试长度,那么应该使用
.length
。如果你坚持使用正则表达式,那么除了换行符外,点实际上与所有内容都匹配。您可以通过搜索
\s\s
来更改此设置:

([\s\s]{10,})


它匹配任何空白和任何非空白,覆盖整个频谱。遗憾的是,js regex不支持
s
修饰符。

JavaScript没有用于
点匹配新行的本机选项。要解决此问题,请使用不同的选择器:

[\S\s]
这将匹配任何
空白
非空白
字符

var s = "some\ntext\n",
    r = /^[\S\s]{10,}$/;
console.log(r.test(s));
还有,必须的小提琴:


有一些库,例如,为
点匹配新行添加选项,但它们所做的只是为正则表达式中的
添加子项
[\S\S]

JavaScript没有用于
点匹配新行的本机选项。要解决此问题,请使用不同的选择器:

[\S\s]
这将匹配任何
空白
非空白
字符

var s = "some\ntext\n",
    r = /^[\S\s]{10,}$/;
console.log(r.test(s));
还有,必须的小提琴:


有一些库,例如,为
点匹配换行符添加选项,但它们所做的只是在Regex中
[\S\S]
中为
添加子项。

为什么要坚持使用Regex?你自己说过有一个更简单的方法way@Utkanos中的正则表达式用于在服务器上进行验证,而我并没有控制权。所以,我不想用更简单的方式在JavaScript中修复它。为什么你坚持使用正则表达式呢?你自己说过有一个更简单的方法way@Utkanos中的正则表达式用于在服务器上进行验证,而我并没有控制权。所以,我不想用更简单的方式在JavaScript中修复它,这是行不通的。圆点与新行不匹配
m
也不起作用,因为点与新行不匹配。这不起作用。圆点与新行不匹配
m
也不起作用,因为点与新行不匹配