javascript: вопрос регулярных выражений html5-pattern - PullRequest
0 голосов
/ 27 августа 2011

Когда я запускаю этот скрипт с "\d+" в качестве значения шаблона, регулярное выражение работает не так, как я ожидал.Когда я избегаю обратной косой черты, это работает.Является ли обратный слэш единственным персонажем, которого я должен убежать?

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
<body>
<p>Enter a number:</p>
<form id="form">
    <script type="text/javascript">
        var form = document.getElementById( 'form' );
        var input = document.createElement( 'input' );
        input.name = 'amount';
        input.type = 'number';
        input.pattern = "\\d+";
        form.appendChild( input );
    </script>
    <br /><br />
    <input type="submit" value="OK"/>
</form>
</body>
</html>

Ответы [ 2 ]

2 голосов
/ 27 августа 2011

обратный слеш должен быть экранирован как часть синтаксиса строк.

2 голосов
/ 27 августа 2011

Вы должны экранировать символ обратной косой черты в строке, используемой в качестве выражения RegEx, точно так же, как в любой строке JavaScript.

Чтобы включить буквенную обратную косую черту внутри строки, необходимо экранировать обратную косую чертуперсонаж.Например, чтобы присвоить пути к файлу c: \ temp строку, используйте следующее:

var home = "c:\\temp";

https://developer.mozilla.org/en/JavaScript/Guide/Values,_Variables,_and_Literals#Escaping_Characters

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...