Flutter & Dart:正则表达式示例
【摘要】 作者:坚果公众号:"大前端之旅"华为云享专家,InfoQ签约作者,OpenHarmony布道师,,华为云享专家,阿里云专家博主,51CTO博客首席体验官,开源项目GVA成员之一,专注于大前端技术的分享,包括Flutter,鸿蒙,小程序,安卓,VUE,JavaScript。Flutter & Dart:正则表达式示例示例 1:电子邮件验证编码:void main() { RegExp exp...
作者:坚果
公众号:""
华为云享专家,InfoQ签约作者,OpenHarmony布道师,,华为云享专家,阿里云专家博主,51CTO博客首席体验官,,专注于大前端技术的分享,包括Flutter,鸿蒙,小程序,安卓,VUE,JavaScript。
Flutter & Dart:正则表达式示例
示例 1:电子邮件验证
void main() {
RegExp exp = new RegExp(
r"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$",
caseSensitive: false);
// Try it
String email1 = "test@gmail.com";
String email2 = "test@gmail";
String email3 = "test#gmail.com";
if (exp.hasMatch(email1)) {
print("Email1 OK");
}
if (exp.hasMatch(email2)) {
print("Email2 OK");
}
if (exp.hasMatch(email3)) {
print("Email3 OK");
}
}
输出:
Email1 OK
Email2 OK
示例 2:IP 地址验证
编码:
void main() {
RegExp ipExp = new RegExp(r"^(?!0)(?!.*\.$)((1?\d?\d|25[0-5]|2[0-4]\d)(\.|$)){4}$", caseSensitive: false, multiLine: false);
// Try it
// Expectation: true
if(ipExp.hasMatch('192.168.1.2')){
print('192.168.1.2 is valid');
}
// Expectation: false
if(ipExp.hasMatch('192.168.111111.55555')){
print('192.168.111111.55555 is valid');
}
}
输出:
192.168.1.2 is valid
示例 3:URL 验证
编码:
void main() {
RegExp urlExp = RegExp(r"(http|ftp|https)://[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?");
String url1 = "https://www.kindacode.com/cat/mobile/flutter/"; // valid
String url2 = "https://kindacode/cat/mobile/flutter/"; // invalid
if(urlExp.hasMatch(url1)) {
print('Url1 looks good!');
}
if(urlExp.hasMatch(url2)) {
print("Url2 looks good!");
}
}
输出:
Url1 looks good!
示例 4:域验证
void main() {
RegExp domainExp = RegExp(r"^[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,6}$");
String domain1 = "www.kindacode.com"; // valid
String domain2 = "www.amazon.co.uk"; // valid
String domain3 = "hello world!"; // invalid
if(domainExp.hasMatch(domain1)){
print('domain1 is valid');
}
if(domainExp.hasMatch(domain2)){
print('domain2 is valid');
}
if(domainExp.hasMatch(domain3)){
print('domain3 is valid');
}
}
输出:
domain1 is valid
domain2 is valid
Flutter & Dart:有条件地从列表中删除元素
要根据一个或多个条件从列表中删除元素,可以使用内置的removeWhere()方法。
例子
假设我们有一个产品列表,任务是删除所有价格高于 100 的产品:
// Define how a product looks like
class Product {
final double id;
final String name;
final double price;
Product(this.id, this.name, this.price);
}
void main() {
// Generate the product list
List<Product> products = [
Product(1, "Product A", 50),
Product(2, "Product B", 101),
Product(3, "Product C", 200),
Product(4, "Product D", 90),
Product(5, "Product E", 400),
Product(6, "Product F", 777)
];
// remove products whose prices are more than 100
products.removeWhere((product) => product.price > 100);
// Print the result
print("Product(s) whose prices are less than 100:");
for (var product in products) {
print(product.name);
}
}
输出:
Product(s) whose prices are less than 100:
Product A
Product D
参考:(dart.dev)。
总结
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)