JavaScript RegExp test vrací nesprávnou hodnotu

Pernick
Člen | 5
+
0
-

Ahoj, řeším právě trochu zvláštní problém. Týká se JavaScriptu, tak snad píšu do správné sekce.

Chci použít JavaScriptovou funkci na validaci formátu stringu podle regexpu, konkrétně mi jde o to aby string začínal + a pokračoval 12 čísly. Používám tento kód https://codepen.io/…k/pen/jYBwOM?…, na CodePenu i na regextester.com/21 apod. testerech mi kód funguje, avšak v latte šabloně ne.

Kód se nachází v latte šabloně v {block scripts} ... {/block}, JS kód se vykonává nicméně .test() vrací false, ikdyž by měl vracet true. Otázku jsem pokládal i na stackoverflow (https://stackoverflow.com/…-wrong-value), jenže vzhledem k tomu, že kód na codepenu funguje, těžko mi někdo pomůže vysvětlit čím to může být a tak bych se rád zeptal, jestli to nemůže způsobovat něco nette specifického? Input zobrazuju takto {input tel class=>"input phoneNumber"}, JS kód je stejný jako na uvedeném codepenu.

Šablona má takový formát

<?php
{block content}
	...
	{input tel class=>"input phoneNumber"}
	...
{/block}

{block scripts}
	function isPhoneNumberValid(phoneNumber) {
 	   return /^\+\d{12}$/.test(phoneNumber);
	}

	$(document).ready(function(){
		$('.phoneNumber').on('keyup', function() {
        	if (isPhoneNumberValid(String($(this).val()))) {
           		console.log('is valid');
        	} else {
            	console.log( 'invalid');
        	}
    	});
	});
{/block}
?>

Mimochodem jsem si vědom ->addRule(Form::PATTERN, 'messages.telFormat', '^\+\d{12}$');, potřebuji nicméně rozchodit tuto funkci, už jen proto, že mi nedává moc smysl, proč nefunguje.
Předem díky za odpovědi

Editoval Pernick (28. 12. 2017 11:46)

Pernick
Člen | 5
+
+1
-

Problém je vyřešen, šlo skutečně o nette specific věc. Bylo potřeba upravovat obalovací script tagy na

<script n:syntax="double"></script>