c# - 文本框正则表达式验证在 uwp 中不起作用
问题描述
这是仅在Windows Community Toolkit
UWP 的官方文档中提供的数字自定义正则表达式验证示例,此处为TextBox Regex extensions in toolkit。
<StackPanel Margin="10,0,10,0">
<TextBox Name="PhoneNumberValidator"
extensions:TextBoxRegex.Regex="^\s*\+?\s*([0-9][\s-]*){9,}$"
Header="Text box with Regex extension for phone number, validation occurs on TextChanged"
HeaderTemplate="{StaticResource HeaderTemplate}"
Style="{StaticResource TextBoxRegexStyle}" />
<StackPanel Orientation="Horizontal">
<TextBlock Text="Is Valid: " />
<TextBlock Text="{Binding (extensions:TextBoxRegex.IsValid), ElementName=PhoneNumberValidator, Converter={StaticResource StringFormatConverter}}" />
</StackPanel>
</StackPanel>
它可以工作,但如果我更改正则表达式并使用自定义正则表达式/^(?!\s*$).+/
进行NotNullOrEmpty
验证,那么它就不起作用。意思ext:TextBoxRegex.IsValid
总是返回假。为什么 ?
解决方案
我测试了您在 WindowsCommunityToolkit 示例应用程序中提供的正则表达式:
<TextBox extensions:TextBoxRegex.Regex="(?!^$)([^\s])"
.../>
它工作正常,即输入文本后,它显示结果为True
.
请注意,正则表达式本身不包含 first 和 last /
,它是一种表示内部是正则表达式的语法。在XML中输入相关的正则表达式时,只需要输入内容即可。
谢谢。
推荐阅读
- machine-learning - 在 NER 基本模型之外添加自定义实体
- sql - 给定代码的 MS SQl 11.0 中的错误:“unix_timestamp”不是可识别的内置函数名称
- c# - 如何在json格式中转换两个表数据
- php - Wordpress 开发:为资产请求设置缓存标头
- spring - 多次提交后如何手动确认偏移量
- python - 如何在文本中获取匹配的 n-gram 的偏移量
- java - 环境变量 JAVA_STARTED_ON_FIRST_THREAD 即使指定也返回 null
- ios - 应用商店网址在 safari 中打开,但未在 chrome 中打开。可能是什么问题?
- python - UnboundLocalError:分配前引用的局部变量“a1”
- javascript - Safari 剪贴板错误“TypeError: undefined is not an object”