数字と-
. ユーザーが数字でもハイフン/ダッシュでもないものを入力するたびに、それを削除する必要があります。私は正規表現を持ってい[0-9\-]
ますが、うまくいきません。私はそれが間違っていることを知っていますが、私はこれに本当に慣れていません。
http://jsfiddle.net/nqdjZ/を参照してください。
助けてください。
数字と-
. ユーザーが数字でもハイフン/ダッシュでもないものを入力するたびに、それを削除する必要があります。私は正規表現を持ってい[0-9\-]
ますが、うまくいきません。私はそれが間違っていることを知っていますが、私はこれに本当に慣れていません。
http://jsfiddle.net/nqdjZ/を参照してください。
助けてください。
まずnew RegExp
、文字列が必要です。/[0-9-]/
代わりにリテラルを使用する必要があります。次の問題は、replace
そこにあってはならないことです。もう 1 つの問題は、テキストが入力されている場所を完全に確認できないことです。テキストが最後にあると想定しないでください。それは人々をひどく悩ませるでしょう。
<input type="number">
代わりに使用し、誰かが入力している間ではなく、最後に検証します。
この正規表現を試してください:
[^\d\-]+
null文字列に置き換えます。
説明:
[^character_group]
否定:にない単一の文字に一致しcharacter_group
ます。
\d
任意の10進数に一致します。
+
前の要素と1回以上一致します。
\-
一致する-
とあなたのコード:
result = inputString.replace(/[^\d\-]+/g, "");
正規表現を変更 -
var pattern = new RegExp("^([0-9_\\-]+)$");