3

JavaScriptでフォームを検証するための正規表現を作成しようとしています。正規表現では、文字のコンマと句読点のみを許可する必要があります。たとえば、次の文字列があります。

Hi, this is a test of RegEx. Does it work

私は次のことを試しました

/^[A-Za-z0-9,. ]{3,50}$/; 

しかし、うまくいかないようです。ソリューション?

ありがとう!

編集:

これは私のコードです:

<script type="text/javascript">
  var RE_SSN = /^[A-Za-z0-9,. ]{3,50}$/; 

  function checkSsn(ssn){

   if (RE_SSN.test(ssn)) {
  alert("OK"); 
  javascript:addAppointment(document.forms[0])

    } else {
       alert("NO!");
   }
  }
  </script>

<div id="r">
    <label for="receipt">Receipt</label><input type="checkbox"     name="receipt" value="1"/>
</div>

<input type="button" value="Post it" onclick="checkSsn(this.form.content.value);"/>
4

2 に答える 2

3

「.」をエスケープする必要がある場合があります。これは正規表現の特殊文字であるためです。

/^[A-Za-z0-9,\. ]{3,50}$/; 

実際にはおそらくそうではありません。http://www.regextester.com/を使用してみてください - とにかく動作させることができました。これをどのように実装しているかの完全なコードを見せてもらえますか?

于 2012-04-11T12:12:06.620 に答える
1

フィールドの先頭に句読点を入れたくない場合:

/^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/

これにはスペースも使用できます (これのシナリオの 1 つは姓 - De La Hoya または O'Doul) です。

于 2012-05-10T16:57:56.970 に答える