当用户粘贴这样的事情(从记事本为例):当多行文本粘贴到文本输入正则表达式不匹配的空间
multi
[email protected]
成输入文本框,换行符自败,它看起来像这样:
但无论换行转换为不匹配这个表达式: '\ S | \ t | \ r | \ n | \ 0', '我' 所以这个无效的字符传递粗糙的js验证到我正在处理的.NET应用程序代码。 这很有趣,但这个文本编辑器做了相同的转换,这就是为什么我不得不将原始样本作为代码发布。我想知道换行符是怎么转换的,所以我可以给正则表达式添加一个字面值,但我不知道如何。非常感谢!
这里是整个片段:
var invalidChars = new RegExp('(^[.])|[<]|[>]|[(]|[)]|[\]|[,]|[;]|[:]|([.])[.]|\s|\t|\r|\n|\0', 'i');
if (text.match(invalidChars)) {
return false;
}
我认为正确的正则表达式是'/^\。| [<>()\\;::\ s \ x00] |(\。)./ g'。看[这个演示](http://jsfiddle.net/9k54pteh/2/)。 –