2012-04-11 19 views
2

JavaScriptを使ってフォームを検証するためのRegExを作成しようとしています。 RegExは、カンマと句読点のみを許可する必要があります。たとえば、私は、この文字列を持っている:私は、次のRegEx in javascript。文字、コンマ、句読点のみを許可する

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

を試してみた

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

をしかし、動作しているようですしません。ソリューション?

ありがとうございます!

EDIT:

これは私のコードです:

<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);"/> 
+1

作品について私。あなたの実際のコードを教えてください。 –

+1

'this.form.content.value'には実際に何かが含まれていますか? – m90

答えて

3

あなたがエスケープする必要があるかもしれません "と。"それは正規表現の特殊文字です。

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

実際にはおそらくないでしょう。とにかく私はそれを動作させることができましたhttp://www.regextester.com/を使用してください。これを実装する方法の完全なコードを表示できますか?

+0

私はあなたの例でこの作業を完了しました。おかげで –

+0

。文字シーケンス([])でエスケープする必要はありませんが、私は信じています - そして〜do – th317erd

0

あなたは、フィールドの先頭に句読点たくない場合:これもできます

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

をスペース(これのための1つのシナリオは最後の名前である - デラホーヤ、またはO'Doul)

関連する問題