disallow paste of non hex characters

This commit is contained in:
Grant Limberg 2015-10-26 18:08:44 -07:00
parent 55dcf4c65f
commit a0c3083af0

View File

@ -22,6 +22,8 @@ namespace WinUI
public partial class MainWindow : Window
{
APIHandler handler = new APIHandler();
Regex charRegex = new Regex("[0-9a-fxA-FX]");
Regex wholeStringRegex = new Regex("^[0-9a-fxA-FX]+$");
public MainWindow()
{
@ -29,6 +31,8 @@ namespace WinUI
updateStatus();
updateNetworks();
DataObject.AddPastingHandler(joinNetworkID, OnPaste);
}
private void updateStatus()
@ -61,8 +65,20 @@ namespace WinUI
private void OnNetworkEntered(object sender, TextCompositionEventArgs e)
{
Regex regex = new Regex("[0-9a-fxA-FX]");
e.Handled = !regex.IsMatch(e.Text);
e.Handled = !charRegex.IsMatch(e.Text);
}
private void OnPaste(object sender, DataObjectPastingEventArgs e)
{
var isText = e.SourceDataObject.GetDataPresent(DataFormats.UnicodeText, true);
if (!isText) return;
var text = e.SourceDataObject.GetData(DataFormats.UnicodeText) as string;
if (!wholeStringRegex.IsMatch(text))
{
e.CancelCommand();
}
}
}
}