Как заменить специальные символы в textareafor () в файле cshtml с помощью регулярных выражений? - PullRequest
0 голосов
/ 26 ноября 2018

Я должен получить сообщение от пользователя, которое не должно содержать никаких специальных символов. Я назначил ему идентификатор.

@Html.TextAreaFor(model => model.Message, new { id= "msg", htmlAttributes = new { @class = "form-control" } })

При нажатии кнопки Отправить сообщение отправляется.Я использую ранее упомянутый идентификатор "msg" в функции события onclick, как показано.

<input type="submit" value="Contact Us" class="btn btn-default" id="submit" onclick="return removeSpecialChar(msg)"/>

В начале того же файла cshtml я также упомянул функцию removeSpecialChar():

<SCRIPT type=text/javascript>
    function removeSpecialChar(msg) {
        msg = msg.replace(/[^\w\s]/gi, '');
        return msg;
    }
</SCRIPT>

Однако специальные символы в сообщении не заменяются.Пожалуйста, помогите мне понять проблему с этим подходом и как решить эту проблему?Кроме того, предложите, если необходимо использовать пространство имен для регулярных выражений?

1 Ответ

0 голосов
/ 26 ноября 2018

Вам следует отредактировать значение текстовой области - не уверен, что вы сообщаете в onclick, но попробуйте это (также убрал возврат из клика):

<SCRIPT type=text/javascript>
  function removeSpecialChar() {
    var msg = document.getElementById('msg');
    msg.value = msg.value.replace(/[^\w\s]/gi, '');
  }
</SCRIPT>
<textarea id="msg"></textarea>
<input type="submit" value="Contact Us" class="btn btn-default" id="submit" onclick="removeSpecialChar()"/>

Или вы можете проверить, когда пользователь печатает, связав onkeyup с текстовой областью:

<SCRIPT type=text/javascript>
  function removeSpecialChar(input) {
    input.value = input.value.replace(/[^\w\s]/gi, '');
  }
</SCRIPT>
<textarea id="msg" onkeyup="removeSpecialChar(this);"></textarea>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...