1.情景展示

  在注册时,密码要求必须同时包含:字母、数字、特殊字符,如何实现?

2.原因分析

  用正则表达式进行校验,是最方便的!

3.解决方案

// 密码必须由 8-64位字母、数字、特殊符号组成
var reg = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,64}$/; if (reg.test(password)) {// 验证通过 }

4.实际应用

  HTML片段

<table class="table_add" border="0" width="100%">
<tr>
<td align="right" class="FormItemText" width="30%">
密码:
</td>
<td class="FormItemControl" width="70%">
<input type="hidden" name="USERID" value="${param.USERID}">
<input type="password" class="TextBox" id="viewAdd_userPassword"
name="USERPASSWORD"
title="密码长度为8-64个字符,必须包括数字、字母、特殊字符"/>
</td>
</tr>
<tr>
<td align="right" class="FormItemText">
确认密码:
</td>
<td class="FormItemControl">
<input type="password" class="TextBox" id="viewAdd_userConPassword""/>
</td>
</tr>
</table> 

  JAVASCRIPT片段

/**
* form表单提交前,密码校验
*/
function validatePassword() {
var password = $get('viewAdd_userPassword').value;
// 去掉空格
password = password.replace(/\s/g,""); if ("" != password) {
// 密码必须由 8-64位字母、数字、特殊符号组成
var reg = /^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,.\/]).{8,64}$/; if (reg.test(password)) {// 验证通过
// form表单提交前,去除空格
$get('viewAdd_userPassword').value = password;
var password2 = $get('viewAdd_userConPassword').value;
if (password2 != password) {// 密码不一致
Dialog.Alert("消息提示", "两次输入的密码不一致,请重新输入!", function (result) {
$get("viewAdd_userPassword").focus();
}, null, 50); return false;
} return true;
} else {
Dialog.Alert("消息提示", "密码长度为8-64个字符,必须包括数字、字母、特殊字符!", function (result) {
$get("viewAdd_userPassword").focus();
}, null, 50);
} return false;
} else {
Dialog.Alert("消息提示", "请输入新密码!", function (result) {
$get("viewAdd_userPassword").focus();
}, null, 50);
} return false;
}

  验证座机号

var regex = /^(0\d{2}-\d{8})|(0\d{3}-\d{7})$/;

  验证邮箱

var regex = /^([a-z0-9A-Z]+[-|_|\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-zA-Z]{2,}$/;

  

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

相关推荐:

 

js 正则表达式校验必须包含字母、数字、特殊字符的更多相关文章

  1. JS生成随机的由字母数字组合的字符串

    前言 最近有个需求,是需要生成3-32位长度的字母数字组合的随机字符串,另一个是生成43位随机字符串. 方法一 奇妙的写法   1 Math.random().toString(36).substr( ...

  2. 全网最全JS正则表达式 校验数字

    Js代码 <script type="text/javascript"> function SubmitCk() { var reg = /^([a-zA-Z0-9]+ ...

  3. js正则表达式校验非负浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. js正则表达式校验非正整数:^((-\d+)|(0+))$

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. js正则表达式校验非负整数:^\d+$ 或 ^[1-9]\d*|0$

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. js正则表达式校验非零的正整数:^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. js正则表达式校验正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. js正则表达式校验非负整数:^\d+$ 或 ^[1-9]\d*|0$ 【转载】

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. js判断字符是否包含字母汉字

    <script type="text/javascript"> function check(str) { if (escape(str).indexOf(" ...

随机推荐

  1. [转]windows7X64环境下wamp开启PHP_Curl组件

    From : http://www.justintseng.com/windows7x64-environment-wamp-open-php_curl-in-components 装上64位的win ...

  2. OpenGL和D3D11中的深度模版测试

        在OpenGL和D3D11的管线中,像素shader之后的操作就是深度模版测试,深度模版测试是以sample为单位进行的,就是一个像素上可以有多个采样点,每个采样点都有深度信息.深度模版测试对 ...

  3. [leetcode]Permutations II @ Python

    原题地址:https://oj.leetcode.com/problems/permutations-ii/ 题意: Given a collection of numbers that might ...

  4. LeakCanary 内存泄漏 监测 性能优化 简介 原理 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  5. C#开发winform程序的界面框架

    首先创建一个“Windows应用程序”,默认的“Form1”文件修改为MainForm的窗体,作为程序的主窗体.从控件箱拖3个控件过来:MenuStrip.ToolStrip.StatusStrip. ...

  6. Android -- ViewPager切换动画,PageTransformer

    transformPage(View view, float position) view就是滑动中的那个view,position这里是float类型,是当前滑动状态的一个表示,比如当滑动到正全屏时 ...

  7. 【转】BFC是什么

    原文:https://www.cnblogs.com/mlw1814011067/p/10397999.html ------------------------------------------- ...

  8. 3D打印机开源、免费分层软件介绍

    分层软件,就是把3D模型按照层厚设置按照Z轴方向分层,并得到G代码,供设备使用.基本上3D打印机都自带了控制软件,对于想自己开发3D打印机的朋友来说,已经有很多国外的免费或者开源的分层软件可以直接使用 ...

  9. python性能还是不错的

    一个未优化的程序,跑了四天,字典长度有15万条,每条40个字段,跑得还算不错. 刚刚优化后的: 等运行两天后再看看效果...

  10. GPUImage API 文档之GPUImageOutput类

    GPUImageOutput类将静态图像纹理上传到OpenGL ES中,然后使用这些纹理去处理进程链中的下一个对象.它的子类可以获得滤镜处理后的图片功能.[本文讲的很少,由于有许多地方不清楚,以后会更 ...