-1

0-9、az、AZ、および特殊文字を許可したい。, @ & ( ) {} [ ] : ; テキストボックスで。

そのための正規表現を書くのを手伝ってください。現在、単語文字を空のデータに置き換えるコードがあり、上記の特殊文字も許可するように変更したいと考えています。

function deleteSpecialChar(txtName, event) {

    if (txtName.value != '' && txtName.value.match(/^[\w]+$/) == null) {

        txtName.value = txtName.value.replace(/[\W]/g, '');
    };
}
$('input[type=text]').live('keypress keyup keydown cut copy paste', function (event) {

    deleteSpecialChar(this, event);
});
4

2 に答える 2

2

削除したいものをセットに入れるだけです。

[^0-9a-zA-Z.,@&(){}\[\]:;]+

このtestメソッドを使用すると、1つの正と1つの負を使用する代わりに、チェックと置換に同じ正規表現を使用できます。

function deleteSpecialChar(txtName, event) {
  var re = /[^0-9,a-z,A-Z\.,@&\(\)\{\}\[\]:;]+/g;
  if (txtName.value != '' && txtName.value.test(re)) {
    txtName.value = txtName.value.replace(re, '');
  };
}
于 2012-10-01T07:42:36.040 に答える
1

試す

txtName.value = txtName.value.replace(/[^\w.,@&(){}\[\]:;]/g, '');

で始まる文字クラス^は否定されたクラスであるため、これはそのクラスにないすべての文字を置き換えます。

于 2012-10-01T07:45:00.983 に答える