验证Telerik Grid中文本框中的特殊字符

时间:2018-06-22 05:42:54

标签: jquery vb.net vba

我正在vb.net项目上工作。我需要验证文本框的插入文本,以确保该文本不是Telerik网格内的特殊字符。此验证仅允许在vb.net或使用jquery.how做到这一点的空间,不允许任何其他特殊字符?我已经搜索了很多但没有找到合适的结果。请帮助我获得解决方案。

<script>
     function OnTextKeyPress(objEvent) {
         var $th = objEvent.value;
         $("#" + objEvent.id).val($th.replace(/[^a-zA-Z0-9]/g, function (str) {
         //$("#" + objEvent.id).val($th.replace(/^[a-zA-Z0-9_-].*?$/g, function (str) {
                return '' ;
         }));
     }
 </script>



  <ItemTemplate>                                                                          <telerik:RadTextBox ID="txtSizeName" CssClass="form-control" Skin="" runat="server" placeholder="Name" Width="100%"                                                                           MaxLength="15" Text='<%# Eval("Name") %>' OnTextChanged="txtSizeName_TextChanged" AutoPostBack="true"  onkeyup="return OnTextKeyPress(this)" >                                                                   </telerik:RadTextBox>
                                                                                </ItemTemplate>

此脚本只允许使用数字和字母,但不允许插入空格和下划线。我需要使用特殊字符允许空格和下划线,并且不允许任何其他特殊字符。

2 个答案:

答案 0 :(得分:1)

我肯定有Linq或Regex,但是各种Char方法可能可以解决问题。

Private Sub CheckForSpecialChar()
        For Each c As Char In TextBox1.Text
            If Char.IsLetterOrDigit(c) Then
                'Do something
            End If
        Next
End Sub

以下其他一些Char方法可能会有所帮助

  • IsControl-控制字符
  • IsDigit-十进制数字
  • IsLetter
  • IsLetterOrDigit
  • IsNumber
  • 标点符号
  • IsSepatator
  • IsSymbol
  • IsWhiteSpace

答案 1 :(得分:1)

终于可以了。

  <script>
           function OnTextKeyPress(objEvent) {
               var $th = objEvent.value;
               $("#" + objEvent.id).val($th.replace(/[^a-zA-Z0-9\s\_]*$/g, function (str) {
                   return '';
               }));
           }
     </script>