我正在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>
此脚本只允许使用数字和字母,但不允许插入空格和下划线。我需要使用特殊字符允许空格和下划线,并且不允许任何其他特殊字符。
答案 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方法可能会有所帮助
答案 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>