2011-02-02 15 views
1

私は正規表現のバリデーションを使用して、javascriptを使用してフォームを検証しています。 「テキストのみの1 '.'は許可され、」私のパターンがjavascriptのバリデーション

/^[a-zA-Z]+[a-zA-Z0-9_]*\\.{0.1}[a-zA-Z0-9_]*/ 

は、このパターンは、「番号から始まるない」検証するための正しいですか?

watは、検証のためにjavascriptで使用できますか? preg_match funcののようなものです。です。

私は正規表現に精通していないので、私のためにこれを行うにはsum funcを与えてください。 私はregexpオブジェクトを使用しようとしましたが、テスト機能の.execから結果を取得できませんでした。

+0

私はあなたが正規表現で達成したいことについてはっきりしていませんが、 "regexes"を検証するために使用するhttp://www.regextester.com/をチェックすることをお勧めします。 http://www.regular-expressions.info/reference.htmlを見てください。おそらく文字クラスがいくつかあるので、式を読むのが簡単になります – Mallox

答えて

2

はい、正規表現が正常です。 1つのcharとそれに続く0..infのchar、numberまたは_の後にオプションのドットと、それに続く0..inf char、numberまたは_が必要です。

構文上のエラーが1つあります。 {0.1}{0,1}に置き換えてください。

次に、.test()関数を使用して、テストする文字列を渡すことができます。

var a = "bb"; 
var r = /^[a-zA-Z][a-zA-Z0-9_]*\.{0,1}[a-zA-Z0-9_]*/; 
r.test(a); 

がtrueを返します。

+0

ご支援ありがとうございます。このバリデーションパターン完璧に動作していない...私は最後に '$'を使用し、それが完璧に働いています。最後に '$'を使用していることを知っていますか?私はイヤーラーを使用しましたが、使用されていませんでした.. –

+0

最初の 'plus'は不要です –

+0

'$'は文字列の最後を示します。したがって、正規表現に含めると、文字列がそこで終わることが必要になります。特定の長さなどを指定したい場合などに便利です。 – Kissaki

関連する問題