Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] polskie znaki w js
Forum PHP.pl > Forum > Po stronie przegl±darki > JavaScript
Vasquez21
Witam.

Wiem, że problem polskich znaków przewijał się już nie raz, ale niestety natrafiłem na jaki¶ prosty problemik z którym nie mogę sobie poradzić.

Mam skrypcik w którym chciałem zadeklarować wyrażenia regularne, zrobiłem taki zapis:

  1. formValidationMasks['imie'] = /^[a-zA-Z±ćęłńó¶ĽżˇĆĘŁŃÓ¦¬Ż]{1,20}$/gi;


niestety to nie działa :/
czy kto¶ mógłby mi wskazać gdzie robię bł±d?
gekon
A samo [a-zA-Z] nie działa?
Vasquez21
próbowałem. Nie działa.

wrzuce może pełny skrypt:

  1. // Patterns
  2. formValidationMasks['imie'] = /^\[a-zA-Z±ćęłńó¶ĽżˇĆĘŁŃÓ¦¬Ż]{1,20}$/gi;
  3.  
  4.  
  5. var formElementArray = new Array();
  6.  
  7. /* These two event functions are from http://ejohn.org/apps/jselect/event.html */
  8.  
  9. function addEvent( obj, type, fn )
  10. {
  11. if ( obj.attachEvent )
  12. {
  13. obj['e'+type+fn] = fn;
  14. obj[type+fn] = function(){obj['e'+type+fn]( window.event );
  15. }
  16. obj.attachEvent( 'on'+type, obj[type+fn] );
  17. }
  18. else
  19. obj.addEventListener( type, fn, false );
  20. }
  21. function removeEvent( obj, type, fn )
  22. {
  23. if ( obj.detachEvent )
  24. {
  25. obj.detachEvent( 'on'+type, obj[type+fn] );
  26. obj[type+fn] = null;
  27. }
  28. else
  29. obj.removeEventListener( type, fn, false );
  30. }
  31.  
  32.  
  33. function validateInput(e,inputObj)
  34. {
  35. if(!inputObj)inputObj = this;
  36. var inputValidates = true;
  37.  
  38. if(formElementArray[inputObj.name]['required'] && inputObj.tagName=='INPUT' && inputObj.value.length==0)inputValidates = false;
  39. if(formElementArray[inputObj.name]['required'] && inputObj.tagName=='SELECT' && inputObj.selectedIndex==0)
  40. {
  41. inputValidates = false;
  42. }
  43. if(formElementArray[inputObj.name]['mask'] && !inputObj.value.match(formValidationMasks[formElementArray[inputObj.name]['mask']]))inputValidates = false;
  44.  
  45. if(formElementArray[inputObj.name]['freemask'])
  46. {
  47. var tmpMask = formElementArray[inputObj.name]['freemask'];
  48. tmpMask = tmpMask.replace(/-/g,'\\-');
  49. tmpMask = tmpMask.replace(/S/g,'[A-Z]');
  50. tmpMask = tmpMask.replace(/N/g,'[0-9]');
  51. tmpMask = eval("/^" + tmpMask + "$/gi");
  52. if(!inputObj.value.match(tmpMask))inputValidates = false
  53. }
  54.  
  55. if(formElementArray[inputObj.name]['regexpPattern']){
  56. var tmpMask = eval(formElementArray[inputObj.name]['regexpPattern']);
  57. if(!inputObj.value.match(tmpMask))inputValidates = false
  58. }
  59. if(!formElementArray[inputObj.name]['required'] && inputObj.value.length==0 && inputObj.tagName=='INPUT')inputValidates = true;
  60.  
  61.  
  62. if(inputValidates){
  63. inputObj.parentNode.className='validInput';
  64. }else{
  65. inputObj.parentNode.className='invalidInput'
  66. }
  67. }
  68.  
  69. function isFormValid()
  70. {
  71. var divs = document.getElementsByTagName('DIV');
  72. for(var no=0;no<divs.length;no++){
  73. if(divs[no].className=='invalidInput')return false;
  74. }
  75. return true;
  76. }
  77.  
  78.  
  79.  
  80.  
  81. function initFormValidation()
  82. {
  83. var inputFields = document.getElementsByTagName('INPUT');
  84. var selectBoxes = document.getElementsByTagName('SELECT');
  85.  
  86. var inputs = new Array();
  87.  
  88.  
  89. for(var no=0;no<inputFields.length;no++)
  90. {
  91. inputs[inputs.length] = inputFields[no];
  92. }
  93. for(var no=0;no<selectBoxes.length;no++)
  94. {
  95. inputs[inputs.length] = selectBoxes[no];
  96. }
  97.  
  98. for(var no=0;no<inputs.length;no++)
  99. {
  100. if ((inputs[no].type!="checkbox") && (inputs[no].type!="select") && (inputs[no].type!="submit"))
  101. {
  102. var required = inputs[no].getAttribute('required');
  103. if(!required)required = inputs[no].required;
  104.  
  105. var mask = inputs[no].getAttribute('mask');
  106. if(!mask)mask = inputs[no].mask;
  107.  
  108. var freemask = inputs[no].getAttribute('freemask');
  109. if(!freemask)freemask = inputs[no].freemask;
  110.  
  111. var regexpPattern = inputs[no].getAttribute('regexpPattern');
  112. if(!regexpPattern)regexpPattern = inputs[no].regexpPattern;
  113.  
  114. var div = document.createElement('DIV');
  115. div.className = 'invalidInput';
  116. inputs[no].parentNode.insertBefore(div,inputs[no]);
  117. div.appendChild(inputs[no]);
  118. div.style.width = inputs[no].offsetWidth + 'px';
  119.  
  120. addEvent(inputs[no],'blur',validateInput);
  121. addEvent(inputs[no],'change',validateInput);
  122. addEvent(inputs[no],'paste',validateInput);
  123. addEvent(inputs[no],'keyup',validateInput);
  124.  
  125.  
  126. formElementArray[inputs[no].name] = new Array();
  127. formElementArray[inputs[no].name]['mask'] = mask;
  128. formElementArray[inputs[no].name]['freemask'] = freemask;
  129. formElementArray[inputs[no].name]['required'] = required;
  130. formElementArray[inputs[no].name]['regexpPattern'] = regexpPattern;
  131.  
  132. validateInput(false,inputs[no]);
  133. }
  134. }
  135. }
  136.  
  137. window.onload = initFormValidation;


i w php wywołuję tak:

  1. <?php 
  2. echo '<input class="form" name="imie" id="imie" type="text" mask="imie" required="1" maxlength="20" value="'.$_POST['imie'].'" />'; 
  3. ?>
Joy-machine
Jakiego kodowania używasz i czy w takim samym zapisałe¶ plik? Polecam przerzucic sie na UTF. Rozumie że chcesz przepuscic tylko litery wlacznie z polskimi znakami - moze sprawdzac kod asci?
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.