我有一个以下的正则表达式,如果输入是电子邮件,那就是chekcks:
/^[_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/
我想在javascript中将其字符串化。我试图使用:
var regex = new RegExp("/^[_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/");
regex.toString();
但这会让我得到错误的结果:
/\/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,6}$\//
有什么想法吗?
答案 0 :(得分:2)
您可以使用source属性
source属性返回一个包含该文本的源文本的String regexp对象,它不包含两个正斜杠 双方和任何旗帜。
var regex = /^[_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/;
snippet.log(regex.source)
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>