2

入力ボックスへの入力を使用する数値を検証する必要があります。番号は正確に 12 文字の長さで、931 で始まる必要があります。

var reg = /^931[0-9]$/;
var val = $("#sms_number").val();

if (val.length === 12 && reg.test(val)) {                    


}

上記は正しくありません。

4

3 に答える 3

4
var reg = /^931\d{9}$/;
var val = $("#sms_number").val();
if (reg.test(val)) {
    // ....
}
于 2013-05-20T11:51:37.087 に答える
2

正規表現なしでもこれを行うことができます。

var val = $("#sms_number").val();

if (val.length === 12 && val.toString().indexOf("931") == 0) {                    

}

シンプルですが、おそらく正規表現ソリューションほど堅牢ではありません

于 2013-05-20T12:11:56.970 に答える
1

簡潔な方法では、次のように動作するはずです。

/^931[0-9]{9}$/.test($("#sms_number").val())? console.log(true): console.log(false);

xdazzの答えは正しい\dですが、ユニコード番号にも対応しようとしていない場合は使用しないことをお勧めします. 英語の数字だけで問題ない場合(931実際には英語の接頭辞を使用しているため、それが意図されていると思います)、の[0-9]代わりに使用する必要があり\dます。前者の方が速いです。

于 2013-05-20T12:08:32.363 に答える