我正在编制一份登记表。它具有以下要求:
我会像这样检查弦。
extension String {
var isValidUsername: Bool {
let predicate = NSPredicate(format: "SELF MATCHES %@ ", "^(?=.*[A-Za-z0-9!@#$%^&*()._-]).{5,16}$")
return predicate.evaluate(with: self)
}
}
现在有两个问题我可以进入空间,虽然我不应该。我可以使用列出的字符以外的字符。我怎么解决这个?
实际上,这里仍然可以使用正则表达式,因为只有两件事需要修复:
.
模式匹配除换行符字符以外的任何字符,因此可以匹配大量字符(?=.*[a-za-z0-9!@#$%^&*()._-])
只需要字符类中列出的除换行符以外的任何零个或多个字符之后至少有一个字符。若要仅允许lookahead中的字符,请使用lookahead字符类,而不是使用模式中的.
。注意锚是多余的,因为matchs
需要一个完整的字符串匹配。
您可以使用
extension String {
var isValidUsername: Bool {
let predicate = NSPredicate(format: "SELF MATCHES %@ ", "[A-Za-z0-9!@#$%^&*()._-]{5,16}")
return predicate.evaluate(with: self)
}
}
我正在尝试使用正则表达式和PHP进行用户名验证。要求是: < li >没有空格 < li >仅小写字母和数字 < li >除了(.)、(-)、(_)以及用户不能同时使用两个或多个特殊字符 < li >用户名不应以特殊字符开头 < li >最小长度6,最大长度25 这就是我到目前为止所做的
我随身携带一些信用卡号码,希望通过以下规则验证它们。 ►必须只包含数字(0-9) ► 它可以有4个一组的数字,由一个连字符“-”分隔 ► 它不能有4个或更多连续重复的数字 ►它可以包含没有任何空格的精确数字 输入: > 61234-567-8912-3456 4123356789123456 5133-3367-8912-3456 输出: > 有效的 无效(因为卡号没有分成4个相等的组) 有效 无
我正在创建一个生产应用程序。 现在我已经创建了我的的一部分 此在登录时会生成一个对象,但我不热衷于通过HTTP标头发送未加密/未加密。 为了让您了解我的: 登录时: 正如您现在看到的(因为我还不确定如何处理它),我只查找用户名,然后检查用户名是否存在。 我的问题很简单,如何加密密码,然后在密码到达API后进行验证?
我想创建一个登录,用户只需输入他/她的邮件地址,并通过电子邮件进行验证。使用firebase,到目前为止我有这样的代码: > 当用户在将邮件放入字段中后单击按钮登录时。我尝试创建一个新帐户(密码是随机的,因为我不需要它)。如果它不存在,我会发送验证邮件。如果该帐户存在,我会与checkIfVerifiedUser核实用户是否通过单击邮件来验证该帐户。 这是我调用的方法: 问题是我要么firebas
本文向大家介绍使用Java Regex验证日期格式,包括了使用Java Regex验证日期格式的使用技巧和注意事项,需要的朋友参考一下 下面的示例演示如何使用String类的matchs方法检查日期是否为正确的格式。 示例 结果 上面的代码示例将产生以下结果。 以下是检查日期是否为正确格式的示例。 示例 结果 上面的代码示例将产生以下结果。
问候覆花, 我试图编写一个正则表达式来验证形式为#########(10位)的电话号码,也就是说,这是有效的情况:1231231234或1111111。无效大小写是指小于10位或大于10位的数字串。 到目前为止,我使用的表达式是:“\d{10}” 不幸的是,它不能正确验证字符串是否为11位数。 有人知道实现这个任务的表达式吗?