2016-03-14 8 views
-2

У меня есть следующее регулярное выражение, которое chekcks если вход по электронной почте:Как спрятать регулярное выражение?

/^[_a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/ 

И я хотел бы stringify его в 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._-][email protected][a-zA-Z0-9.-]+.[a-zA-Z]{2,6}$\// 

Любые идеи?

+0

'новый RegExp ("^[_ а-z0-9] + (\\. [_ А-z0-9] +) * @ [а-z0-9- ] + (\\. [a-z0-9 -] +) * (\\. [az] {2,4}) $ ");' –

ответ

2

Вы можете использовать source свойство

Свойство источника возвращает строку, содержащую исходный текст объекта регулярных выражений, и он не содержит два слэша с обеих сторон и любые флаги.

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>

+0

Интересно отметить, что также можно получить флаги RegExp (если таковые имеются) через свойство [flags] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/flags). –

Смежные вопросы