面接でよくある質問
正则表达式,有木有人像我一样,学了不知道多少遍,学的时候看起来都懂了,过一段时间就又忘的差不多了,等真正要用到的时候,还是一脸懵逼。说到底还是练习的不够多,一直处于只看不做的程度上。所以搜集了这些正则习题,来保证温故而知新。建议读者看完题目后可以自己先做一做,然后再看实现方法。本文不讲基础,只记录习题,如果后续有新的题目,也会保持更新。
1、var s1 = "get-element-by-id"; 给定这样一个连字符串,写一个function转换为驼峰命名法形式的字符串 getElementById
var f = function(s) { return s.replace(/-\w/g, function(x) { return x.slice(1).toUpperCase(); }) }
2、判断字符串是否包含数字
function containsNumber(str) { var regx = /\d/; return regx.text(str); }
3、判断电话号码
function isPhone(tel) { var regx = /^1[34578]\d{9}$/; return regx.test(tel); }
4、判断是否符合指定格式
给定字符串str,检查其是否符合如下格式
XXX-XXX-XXXX
其中X为Number类型
function matchesPattern(str) { return /^(\d{3}-){2}\d{4}&/.test(str); }
5、判断是否符合USD格式
给定字符串 str,检查其是否符合美元书写格式
以 $ 开始
整数部分,从个位起,满 3 个数字用 , 分隔
如果为小数,则小数部分长度为 2
正确的格式如:$1,023,032.03 或者 $2.03,错误的格式如:$3,432,12.12 或者 $34,344.3**
function isUSD(str) { var regx = /^\$\d{1,3}(,\d{3})*(\.\d{2})?$/; return regx.test(str); }
6、JS实现千位分隔符
function format(number) { var regx = /\d{1,3}(?=(\d{3})+$)/g; return (number + '').replace(regx, '$&,') // $&表示与regx相匹配的字符串 }
7、获取 url 参数
获取 url 中的参数
指定参数名称,返回该参数的值 或者 空字符串
不指定参数名称,返回全部的参数对象 或者 {}
如果存在多个同名参数,则返回数组
function getUrlParam(url, key) { var arr = {}; url.replace(/\??(\w+)=(\w+)&?/g, function(match, matchKey, matchValue) { if (!arr[matchKey]) { arr[matchKey] = matchValue; } else { var temp = arr[matchKey]; arr[matchKey] = [].concat(temp, matchValue); } }); if (!key) { return arr; } else { for (ele in arr) { if (ele = key) { return arr[ele]; } } return ''; } }
8、验证邮箱
function isEmail(email) { var regx = /^([a-zA-Z0-9_\-])+@([a-zA-Z0-9_\-])+(\.[a-zA-Z0-9_\-])+$/; return regx.test(email); }
9、验证身份证号码
身份证号码可能为15位或18位,15位为全数字,18位中前17位为数字,最后一位为数字或者X
function isCardNo(number) { var regx = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; return regx.test(number); }
10、匹配汉字
var regx = /^[\u4e00-\u9fa5]{0,}$/;
11、去除首尾的'/'
var str = '/asdf//'; str = str.replace(/^\/*|\/*$/g, '');
12、判断日期格式是否符合 '2017-05-11'的形式,简单判断,只判断格式
var regx = /^\d{4}\-\d{1,2}\-\d{1,2}$/
13、判断日期格式是否符合 '2017-05-11'的形式,严格判断(比较复杂)
var regx = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;
14、IPv4地址正则
var regx = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
15、十六进制颜色正则
var regx = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;
16、车牌号正则
var regx = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;
17、过滤HTML标签
var str="<p>dasdsa</p>nice <br> test</br>" var regx = /<[^<>]+>/g; str = str.replace(regx, '');
18、密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
var regx = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;
19、URL正则
var regx = /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/;
20、匹配浮点数
var regx = /^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$/;
21、
写一个正则表达式,匹配 "
var str = '<OPTION value="待处理">待处理</OPTION>'; var regx = /^<.*?>/; var resiult = regx.exec(str)[0];
最后推荐一个练习正则的网站 regulex%7B2%7D%5Cd%7B4%7D%26),可以查看正则匹配的走向
如果喜欢请关注我的Github,给个Star吧,我会定期分享一些JS中的知识,^_^
相关推荐:
以上が面接でよくある質問の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 正規表現は、テキストの処理と変換のための強力なツールです。テキスト コンテンツを解析し、特定のパターンに従って置換またはインターセプトすることで、テキスト情報を効果的に管理できます。その中でも、正規表現の一般的な応用例は、特定の文字で始まる文字列を置換することです。

Golang の正規表現では、パイプ文字 | を使用して複数の単語または文字列を一致させ、各オプションを論理 OR 式として区切ります。例: 「fox」または「dog」に一致します: fox|dog は「quick」、「brown」または「lazy」に一致します: (quick|brown|lazy) 「Go」、「Python」または「Java」に一致します: Go| Python |Java は単語または 4 桁の郵便番号と一致します: ([a-zA

正規表現を使用して PHP で中国語を削除する方法: 1. PHP サンプル ファイルを作成する; 2. 中国語と英語を含む文字列を定義する; 3. "preg_replace('/([\x80-\xff]*)/i', '',$a);" 通常の方法では、クエリ結果から中国語の文字を削除できます。

この記事では、PHP 正規表現を使用して HTML タグを削除し、HTML 文字列からプレーン テキスト コンテンツを抽出する方法を学びます。 HTML タグを削除する方法を示すために、まず HTML タグを含む文字列を定義しましょう。

PHP 正規表現を使用して中国語の置換機能を実装するためのヒントを共有する Web 開発では、中国語のコンテンツを置換する必要がある状況によく遭遇します。人気のサーバーサイド スクリプト言語として、PHP は中国語の置換を簡単に実現できる強力な正規表現機能を提供します。この記事では、正規表現を使用して PHP で中国語置換を実装するためのテクニックをいくつか紹介し、具体的なコード例を示します。 1. preg_replace 関数を使用して中国語置換を実装します PHP の preg_replace 関数を使用できます

Web サイトのセキュリティはますます注目を集めており、HTTPS プロトコルを使用してデータ送信のセキュリティを確保することが、現在の Web サイト開発の重要な部分となっています。 PHP 開発において、正規表現を使用して URL が HTTPS プロトコルであるかどうかを確認するにはどうすればよいですか?ここで私たちはそれを知りに来ました。正規表現 正規表現は、ルールを記述するために使用される表現です。テキストを処理するための強力なツールであり、テキストの一致、検索、置換に広く使用されています。 PHP 開発では、正規表現を使用して URL 内の http と一致させることができます。

正規表現は文字列を照合するための強力なツールであり、文字列の操作を容易にします。ただし、正規表現を作成する過程で、「\」、「|」、「{」などの特殊文字と一致する必要がある場合があります。これらの文字は正規表現で特別な意味を持ち、エスケープする必要があります。

PHP8 のインストールで問題が発生するのはなぜですか?近年、PHP は Web サイトや Web アプリケーションの開発に好まれる言語の 1 つです。人気のオープンソース プログラミング言語として、広範な機能と強力なコミュニティ サポートを備えています。ただし、人によっては、PHP8 でインストールするときに問題が発生する可能性があります。この記事では、PHP8 のインストールに関する問題が発生する理由のいくつかを検討し、これらの問題の解決に役立つ具体的なコード例を示します。まず、オペレーティング システムが PHP8 の最小要件を満たしていることを確認してください。 PHP8が必要です
