600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Thinkphp使用Validate里的正则表达式验证中文名字和身份证号码

Thinkphp使用Validate里的正则表达式验证中文名字和身份证号码

时间:2021-10-03 20:02:05

相关推荐

Thinkphp使用Validate里的正则表达式验证中文名字和身份证号码

众所周知,javascript里验证中文的正则表达式如下:

var name = $("input[name='name']").val();var regex=/^[\u4E00-\u9FA5]{2,10}$/;if(regex.test(name)==false){alert('请输入真实的中文姓名', '提示');return false;}

js使用的是[\u4E00-\u9FA5],但是在php中使用则会出现如下报错信息:

那我们要怎么做呢,正确代码如下:

$str = 'CSDN博客';if(preg_match('/[\x7f-\xff]/', $str)){echo '字符串中有中文<br/>';}else{echo '字符串中没有中文<br/>';}if(preg_match('/^[\x7f-\xff]+$/', $str)){echo '字符串全是中文';}else{echo '字符串不全是中文';}

最后分享一下我Thinkphp里Validate验证器代码:

<?phpnamespace app\common\validate;use think\Validate;class Vdate extends Validate{//定义正则验证器protected $regex = [ 'name' => '/^[\x7f-\xff]{2,10}$/i','card'=>'/^(\d{18,18}|\d{15,15}|\d{17,17}X)$/i'];//第一层:每个字段对应一个规则protected $rule=['__token__'=>'require|token','name' => 'require|regex:name','card' => 'require|regex:card',["money","require|number|>:0","金额不能为空|金额必须是数字|金额必须大于0"],];protected $message = ['__token__.require' => 'token令牌异常','__token__.token' => '表单不能重复提交,可以刷新页面重试','name.require' => '姓名不能为空','name.regex' => '请输入真实的中文姓名','card.require' => '身份证号码不能为空','card.regex' => '请输入正确的身份证号码',];//第二层:应用的场景protected $scene=["token" => ["__token__"],"submit" => ["name","card","money"],];}

完整的Validate验证示例教程,可以参考我之前的文章:

Thinkphp5使用Validate验证防止表单重复提交的两种方式_美奇软件开发工作室-CSDN博客html表单添加一个“__token__”唯一码,如下:<input type="hidden" name="__token__" value="{$Request.token}" />方法一:在需要验证的控制器里写完整的Validate<?phpnamespace app\index\controller;use think\Validate;//1.引用Validate类class Test extends Controller{ public fu/qq15577969/article/details/120514334

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。